Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: mlton-20210117
@ 2023-10-28 19:09 ii8
  2023-10-28 20:36 ` [PR PATCH] [Updated] " ii8
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: ii8 @ 2023-10-28 19:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 625 bytes --]

There is a new pull request by ii8 against master on the void-packages repository

https://github.com/ii8/void-packages mlton
https://github.com/void-linux/void-packages/pull/46951

New package: mlton-20210117

- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-musl


A patch file from https://github.com/void-linux/void-packages/pull/46951.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mlton-46951.patch --]
[-- Type: text/x-diff, Size: 1253800 bytes --]

From 15e9c64930c8da4c9f06b7651dbc77cafa0763f7 Mon Sep 17 00:00:00 2001
From: murray <murray.calavera@protonmail.com>
Date: Sat, 28 Oct 2023 19:27:11 +0100
Subject: [PATCH] New package: mlton-20210117

---
 srcpkgs/mlton/patches/10-mllex.patch        | 21545 ++++++++++++++++++
 srcpkgs/mlton/patches/20-polyml.patch       |    48 +
 srcpkgs/mlton/patches/30-mlbdeps.patch      |    60 +
 srcpkgs/mlton/patches/40-mlton.patch        |    20 +
 srcpkgs/mlton/patches/50-mlton-stubs.patch  |    19 +
 srcpkgs/mlton/patches/60-clean-polyml.patch |    10 +
 srcpkgs/mlton/template                      |    16 +
 7 files changed, 21718 insertions(+)
 create mode 100644 srcpkgs/mlton/patches/10-mllex.patch
 create mode 100644 srcpkgs/mlton/patches/20-polyml.patch
 create mode 100644 srcpkgs/mlton/patches/30-mlbdeps.patch
 create mode 100644 srcpkgs/mlton/patches/40-mlton.patch
 create mode 100644 srcpkgs/mlton/patches/50-mlton-stubs.patch
 create mode 100644 srcpkgs/mlton/patches/60-clean-polyml.patch
 create mode 100644 srcpkgs/mlton/template

diff --git a/srcpkgs/mlton/patches/10-mllex.patch b/srcpkgs/mlton/patches/10-mllex.patch
new file mode 100644
index 0000000000000..a5a9611cff139
--- /dev/null
+++ b/srcpkgs/mlton/patches/10-mllex.patch
@@ -0,0 +1,21545 @@
+commit f074a9a41b5338303271cd50f17078595fef35ff
+Author: Matthew Fluet <matthew.fluet@gmail.com>
+Date:   Thu Dec 23 17:15:16 2021 -0500
+
+    Include generated `mllex` and `mlyacc` files for bootstrapping
+    
+    If there is no available `mllex` or `mlyacc` (e.g., when bootstrapping
+    with another SML compiler), use the saved bootstrap files.
+    
+    This also slightly simplifies the `remote-bootstrap` target, since
+    only the compiler proper (and not the tools) needs to be made on the
+    remote system for the initial boot files.
+
+diff --git a/Makefile b/Makefile
+index e72cc3ea3..5d715afe6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,11 +16,11 @@ include $(ROOT)/Makefile.config
+ all:
+ 	$(MAKE) dirs
+ 	$(MAKE) runtime
+-	$(MAKE) compiler CHECK_FIXPOINT=false                     # tools0 + mlton0 -> mlton1
++	$(MAKE) compiler CHECK_FIXPOINT=false                     # mlton0 -> mlton1
+ 	$(MAKE) script
+ 	$(MAKE) basis
+ 	$(MAKE) libraries
+-	$(MAKE) tools    CHECK_FIXPOINT=false                     # tools0 + mlton1 -> tools1
++	$(MAKE) tools    CHECK_FIXPOINT=false                     # mlton1 -> tools1
+ ifeq (2, $(firstword $(sort $(BOOTSTRAP_STYLE) 2)))
+ 	$(MAKE) compiler-clean
+ 	$(MAKE) compiler SELF_COMPILE=true  CHECK_FIXPOINT=false  # tools1 + mlton1 -> mlton2
+@@ -581,8 +581,6 @@ remote-bootstrap:
+ 	$(MAKE) remote--make-script
+ 	$(MAKE) remote--make-basis
+ 	$(MAKE) remote--make-libraries
+-	$(MAKE) remote--send-mlyacc-yacc-files
+-	$(MAKE) remote--make-tools
+ 	$(MAKE) remote--recv-boot-files
+ 	$(MAKE) remote--make-clean
+ 	$(MAKE) remote--send-boot-files
+@@ -609,12 +607,6 @@ remote--send-src:
+ 	$(SSH) $(REMOTE_MACHINE) "$(REMOTE_RM) $(REMOTE_ROOT) && $(REMOTE_MKDIR) $(REMOTE_ROOT)"
+ 	$(GIT) archive --format=tar HEAD | $(SSH) $(REMOTE_MACHINE) "cd $(REMOTE_ROOT) && $(REMOTE_TAR) xf -"
+ 
+-.PHONY: remote--send-mlyacc-yacc-files
+-remote--send-mlyacc-yacc-files:
+-	$(MAKE) -C mlyacc src/yacc.lex.sml src/yacc.grm.sig src/yacc.grm.sml
+-	$(TAR) cf - mlyacc/src/yacc.lex.* mlyacc/src/yacc.grm.* | $(SSH) $(REMOTE_MACHINE) "cd $(REMOTE_ROOT) && $(REMOTE_TAR) xf -"
+-	$(SSH) $(REMOTE_MACHINE) "cd $(REMOTE_ROOT) && touch mlyacc/src/yacc.lex.* mlyacc/src/yacc.grm.*"
+-
+ .PHONY: remote--recv-runtime
+ remote--recv-runtime:
+ 	$(RM) "$(LIB)/targets/$(REMOTE_TARGET)" && $(MKDIR) "$(LIB)/targets/$(REMOTE_TARGET)"
+@@ -665,7 +657,6 @@ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,script))
+ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,basis))
+ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,libraries))
+ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,check))
+-$(eval $(call MK_REMOTE_MAKE_TEMPLATE,tools))
+ all_REMOTE_XMAKEFLAGS := OLD_MLTON_DIR=$(REMOTE_ROOT)/boot/bin
+ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,all))
+ binary-release_REMOTE_XMAKEFLAGS := MLTON_BINARY_RELEASE_WITH_DOCS=false
+diff --git a/Makefile.config b/Makefile.config
+index 57cf92aa9..1307c55aa 100644
+--- a/Makefile.config
++++ b/Makefile.config
+@@ -40,14 +40,10 @@ MLTON_COMPILE_ARGS :=
+ OLD_MLTON := mlton
+ OLD_MLTON_RUNTIME_ARGS :=
+ OLD_MLTON_COMPILE_ARGS :=
+-OLD_MLLEX := mllex
+-OLD_MLYACC := mlyacc
+ 
+ OLD_MLTON_DIR :=
+ ifneq (,$(OLD_MLTON_DIR))
+ OLD_MLTON := $(OLD_MLTON_DIR)/$(OLD_MLTON)
+-OLD_MLLEX := $(OLD_MLTON_DIR)/$(OLD_MLLEX)
+-OLD_MLYACC := $(OLD_MLTON_DIR)/$(OLD_MLYACC)
+ endif
+ 
+ # Specify standard tools.
+@@ -180,20 +176,14 @@ RUN_MLTON_RUNTIME_ARGS := $(MLTON_RUNTIME_ARGS)
+ RUN_MLTON_COMPILE_ARGS := $(MLTON_COMPILE_ARGS)
+ ifeq (true, $(shell [ -x "$(BIN)/mllex" ] && echo true))
+ RUN_MLLEX := $(BIN)/mllex
+-else
+-RUN_MLLEX := $(OLD_MLLEX)
+ endif
+ ifeq (true, $(shell [ -x "$(BIN)/mlyacc" ] && echo true))
+ RUN_MLYACC := $(BIN)/mlyacc
+-else
+-RUN_MLYACC := $(OLD_MLYACC)
+ endif
+ else
+ RUN_MLTON := $(OLD_MLTON)
+ RUN_MLTON_RUNTIME_ARGS := $(OLD_MLTON_RUNTIME_ARGS)
+ RUN_MLTON_COMPILE_ARGS := $(OLD_MLTON_COMPILE_ARGS)
+-RUN_MLLEX := $(OLD_MLLEX)
+-RUN_MLYACC := $(OLD_MLYACC)
+ endif
+ 
+ ifeq (0, $(MAKELEVEL))
+@@ -203,8 +193,6 @@ $$(warning '$(1)' command not found: $$($(2)))
+ endif
+ endef
+ $(eval $(call CHECK_MLCMD,mlton,RUN_MLTON))
+-$(eval $(call CHECK_MLCMD,mllex,RUN_MLLEX))
+-$(eval $(call CHECK_MLCMD,mlyacc,RUN_MLYACC))
+ endif
+ 
+ ifeq (true,$(call HAVE_CMD,$(RUN_MLTON)))
+diff --git a/mlton/Makefile b/mlton/Makefile
+index 1f14add25..d2915417f 100644
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -89,6 +89,7 @@ control/version.sml: control/version_sml.src
+ 	($(CAT) control/version_sml.src; echo '$(MLTON_NAME)' '$(MLTON_VERSION)'; $(CAT) control/version.sml) | $(SHA1DGST) > control/version_sml.chk
+ endif
+ 
++ifeq (true,$(call HAVE_CMD,$(RUN_MLLEX)))
+ front-end/%.lex.sml: front-end/%.lex
+ 	$(RM) $<.*
+ 	$(RUN_MLLEX) $<
+@@ -98,7 +99,15 @@ front-end/%.lex.sml: front-end/%.lex
+ 	$(SED) -e 's/in Vector.fromList(List.map g/in Vector.fromList(Pervasive.List.map g/' $<.sml.in > $<.sml
+ 	$(RM) $<.sml.in
+ 	$(CHMOD) -w $<.*
++	$(CP) $<.sml $<.sml.boot
++else
++front-end/%.lex.sml: front-end/%.lex.sml.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++endif
+ 
++ifeq (true,$(call HAVE_CMD,$(RUN_MLYACC)))
+ front-end/%.grm.sig front-end/%.grm.sml: front-end/%.grm
+ 	$(RM) $<.*
+ 	$(RUN_MLYACC) $<
+@@ -108,6 +117,18 @@ front-end/%.grm.sig front-end/%.grm.sml: front-end/%.grm
+ 	$(SED) -e 's/in Array.fromList(List.map actionRowLookUp actionRowNumbers)/in Array.fromList(Pervasive.List.map actionRowLookUp actionRowNumbers)/' $<.sml.in > $<.sml
+ 	$(RM) $<.sml.in
+ 	$(CHMOD) -w $<.*
++	$(CP) $<.sig $<.sig.boot
++	$(CP) $<.sml $<.sml.boot
++else
++front-end/%.grm.sig: front-end/%.grm.sig.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++front-end/%.grm.sml: front-end/%.grm.sml.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++endif
+ 
+ mlton-stubs.mlb: $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
+ 	(									\
+diff --git a/mlton/front-end/ml.grm.sig.boot b/mlton/front-end/ml.grm.sig.boot
+new file mode 100644
+index 000000000..1a23f4018
+--- /dev/null
++++ b/mlton/front-end/ml.grm.sig.boot
+@@ -0,0 +1,93 @@
++signature ML_TOKENS =
++sig
++type ('a,'b) token
++type svalue
++val SHOW_BASIS: (File.t) *  'a * 'a -> (svalue,'a) token
++val PRIM:  'a * 'a -> (svalue,'a) token
++val SYMBOL:  'a * 'a -> (svalue,'a) token
++val IMPORT:  'a * 'a -> (svalue,'a) token
++val EXPORT:  'a * 'a -> (svalue,'a) token
++val ADDRESS:  'a * 'a -> (svalue,'a) token
++val CONST:  'a * 'a -> (svalue,'a) token
++val COMMAND_LINE_CONST:  'a * 'a -> (svalue,'a) token
++val BUILD_CONST:  'a * 'a -> (svalue,'a) token
++val WITHTYPE:  'a * 'a -> (svalue,'a) token
++val WITH:  'a * 'a -> (svalue,'a) token
++val WILD:  'a * 'a -> (svalue,'a) token
++val WHILE:  'a * 'a -> (svalue,'a) token
++val WHERE:  'a * 'a -> (svalue,'a) token
++val VAL:  'a * 'a -> (svalue,'a) token
++val TYPE:  'a * 'a -> (svalue,'a) token
++val THEN:  'a * 'a -> (svalue,'a) token
++val STRUCTURE:  'a * 'a -> (svalue,'a) token
++val STRUCT:  'a * 'a -> (svalue,'a) token
++val SIGNATURE:  'a * 'a -> (svalue,'a) token
++val SIG:  'a * 'a -> (svalue,'a) token
++val SHARING:  'a * 'a -> (svalue,'a) token
++val SEMICOLON:  'a * 'a -> (svalue,'a) token
++val RPAREN:  'a * 'a -> (svalue,'a) token
++val REC:  'a * 'a -> (svalue,'a) token
++val RBRACKET:  'a * 'a -> (svalue,'a) token
++val RBRACE:  'a * 'a -> (svalue,'a) token
++val RAISE:  'a * 'a -> (svalue,'a) token
++val OVERLOAD:  'a * 'a -> (svalue,'a) token
++val OPEN:  'a * 'a -> (svalue,'a) token
++val OP:  'a * 'a -> (svalue,'a) token
++val OF:  'a * 'a -> (svalue,'a) token
++val ORELSE:  'a * 'a -> (svalue,'a) token
++val NONFIX:  'a * 'a -> (svalue,'a) token
++val LPAREN:  'a * 'a -> (svalue,'a) token
++val LOCAL:  'a * 'a -> (svalue,'a) token
++val LET:  'a * 'a -> (svalue,'a) token
++val LBRACKET:  'a * 'a -> (svalue,'a) token
++val LBRACE:  'a * 'a -> (svalue,'a) token
++val INFIXR:  'a * 'a -> (svalue,'a) token
++val INFIX:  'a * 'a -> (svalue,'a) token
++val INCLUDE:  'a * 'a -> (svalue,'a) token
++val IN:  'a * 'a -> (svalue,'a) token
++val IF:  'a * 'a -> (svalue,'a) token
++val HASHLBRACKET:  'a * 'a -> (svalue,'a) token
++val HASH:  'a * 'a -> (svalue,'a) token
++val HANDLE:  'a * 'a -> (svalue,'a) token
++val FUNCTOR:  'a * 'a -> (svalue,'a) token
++val FUN:  'a * 'a -> (svalue,'a) token
++val FN:  'a * 'a -> (svalue,'a) token
++val DARROW:  'a * 'a -> (svalue,'a) token
++val DO:  'a * 'a -> (svalue,'a) token
++val EXCEPTION:  'a * 'a -> (svalue,'a) token
++val EQTYPE:  'a * 'a -> (svalue,'a) token
++val EQUALOP:  'a * 'a -> (svalue,'a) token
++val EOF:  'a * 'a -> (svalue,'a) token
++val END:  'a * 'a -> (svalue,'a) token
++val ELSE:  'a * 'a -> (svalue,'a) token
++val DOTDOTDOT:  'a * 'a -> (svalue,'a) token
++val DATATYPE:  'a * 'a -> (svalue,'a) token
++val COMMA:  'a * 'a -> (svalue,'a) token
++val COLONGT:  'a * 'a -> (svalue,'a) token
++val COLON:  'a * 'a -> (svalue,'a) token
++val CASE:  'a * 'a -> (svalue,'a) token
++val BAR:  'a * 'a -> (svalue,'a) token
++val ASTERISK:  'a * 'a -> (svalue,'a) token
++val AS:  'a * 'a -> (svalue,'a) token
++val ARROW:  'a * 'a -> (svalue,'a) token
++val ANDALSO:  'a * 'a -> (svalue,'a) token
++val AND:  'a * 'a -> (svalue,'a) token
++val ABSTYPE:  'a * 'a -> (svalue,'a) token
++val WORD: ({ digits:string,radix:StringCvt.radix } ) *  'a * 'a -> (svalue,'a) token
++val TYVAR: (string) *  'a * 'a -> (svalue,'a) token
++val STRING: (IntInf.t vector) *  'a * 'a -> (svalue,'a) token
++val REAL: (string) *  'a * 'a -> (svalue,'a) token
++val LONGSYMID: (string) *  'a * 'a -> (svalue,'a) token
++val LONGALPHANUMID: (string) *  'a * 'a -> (svalue,'a) token
++val SHORTSYMID: (string) *  'a * 'a -> (svalue,'a) token
++val SHORTALPHANUMID: (string) *  'a * 'a -> (svalue,'a) token
++val INT: ({ digits:string,extended:bool,negate:bool,radix:StringCvt.radix } ) *  'a * 'a -> (svalue,'a) token
++val CHAR: (IntInf.t) *  'a * 'a -> (svalue,'a) token
++end
++signature ML_LRVALS=
++sig
++structure Tokens : ML_TOKENS
++structure ParserData:PARSER_DATA
++sharing type ParserData.Token.token = Tokens.token
++sharing type ParserData.svalue = Tokens.svalue
++end
+diff --git a/mlton/front-end/ml.grm.sml.boot b/mlton/front-end/ml.grm.sml.boot
+new file mode 100644
+index 000000000..eba36cad4
+--- /dev/null
++++ b/mlton/front-end/ml.grm.sml.boot
+@@ -0,0 +1,4834 @@
++functor MLLrValsFun (structure Token: TOKEN
++                              structure Ast: AST) = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(*#line 1.2 "ml.grm"*)(* Heavily modified from SML/NJ sources. *)
++
++(* ml.grm
++ *
++ * Copyright 1989,1992 by AT&T Bell Laboratories
++ *
++ * SML/NJ is released under a HPND-style license.
++ * See the file NJ-LICENSE for details.
++ *)
++
++(* Copyright (C) 2008,2009,2014-2017,2019 Matthew Fluet.
++ * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
++ *    Jagannathan, and Stephen Weeks.
++ * Copyright (C) 1997-2000 NEC Research Institute.
++ *
++ * MLton is released under a HPND-style license.
++ * See the file MLton-LICENSE for details.
++ *)
++
++fun reg (left, right) = Region.make {left = left, right = right}
++fun error (reg, msg) = Control.error (reg, Layout.str msg, Layout.empty)
++
++local
++   open Control.Elaborate
++in
++   val allowOptBar = fn () => current allowOptBar
++   val allowOptSemicolon = fn () => current allowOptSemicolon
++   val allowRecordPunExps = fn () => current allowRecordPunExps
++end
++
++open Ast
++structure Field = Record.Field
++structure Srecord = SortedRecord
++
++structure Type =
++   struct
++      open Type
++
++      fun tuple ts =
++         Record (Record.tuple (Vector.map (ts, fn t => (Region.bogus, t))))
++
++      val unit = tuple (Vector.new0 ())
++
++      fun arrow (t1, t2) = Con (Longtycon.arrow, Vector.new2 (t1, t2))
++   end
++
++structure DatBind =
++   struct
++      open DatBind
++
++      fun make (dbs, withtypes, left, right) =
++         makeRegion' (T {datatypes = dbs, withtypes = withtypes},
++                      left, right)
++   end
++
++structure Pat =
++   struct
++      open Pat
++
++      fun tuple ps =
++         if 1 = Vector.length ps
++            then Paren (Vector.sub (ps, 0))
++         else Tuple ps
++
++      val unit = tuple (Vector.new0 ())
++
++      val bogus = unit
++
++      fun makeAs (p1: t, p2: t): node =
++         let
++            fun err () =
++               error (Pat.region p1, "must have variable to left in as pattern")
++            fun fixopVar (p : t) =
++               case node p of
++                  FlatApp ps =>
++                     if 1 = Vector.length ps
++                        then (case node (Vector.sub (ps, 0)) of
++                                 Var {fixop,name} =>
++                                    (case Longvid.split name of
++                                        ([], vid) =>
++                                           SOME (fixop, Vid.toVar vid)
++                                      | _ =>
++                                           let
++                                              val () = err ()
++                                           in
++                                              SOME (Fixop.None, Var.bogus)
++                                           end)
++                               | _ => NONE)
++                     else NONE
++                | _ => NONE
++         in
++            case fixopVar p1 of
++               SOME (fixop, var) =>
++                  Layered {fixop = fixop, var = var,
++                           constraint = NONE,
++                           pat = p2}
++             | NONE =>
++                  case node p1 of
++                     Pat.Constraint (p, t) =>
++                        (case fixopVar p of
++                            SOME (fixop, var) =>
++                               Layered {fixop = fixop, var = var,
++                                        constraint = SOME t,
++                                        pat = p2}
++                          | _ => (err (); bogus))
++                   | _ => (err (); bogus)
++         end
++   end
++
++structure Exp =
++   struct
++      open Exp
++
++      fun tuple es =
++         if 1 = Vector.length es
++            then Paren (Vector.sub (es, 0))
++         else Record (Record.tuple (Vector.map (es, fn e => (Region.bogus, e))))
++
++      val unit = tuple (Vector.new0 ())
++   end
++
++structure Dec =
++   struct
++      open Dec
++
++      fun sequence (d1: t, d2: t): t =
++         makeRegion (case (node d1, node d2) of
++                        (SeqDec d1, SeqDec d2) => SeqDec (Vector.concat [d1, d2])
++                      | (SeqDec d1, _) =>
++                           SeqDec (Vector.concat [d1, Vector.new1 d2])
++                      | (_, SeqDec d2) =>
++                           SeqDec (Vector.concat [Vector.new1 d1, d2])
++                      | _ => SeqDec (Vector.new2 (d1, d2)),
++                     Region.append (region d1, region d2))
++   end
++
++structure Spec =
++   struct
++      open Spec
++
++      (* Some of this mess is so that a sharing equation captures as
++       * many specs as possible in its scope.
++       *)
++      fun seq (s: t, s': t): t =
++         let
++            fun reg s'' = makeRegion (s'', Region.append (region s, region s'))
++         in
++            case (node s, node s') of
++               (Empty, _) => s'
++             | (_, Empty) => s
++             | (_, Seq (s1, s2)) => reg (Seq (seq (s, s1), s2))
++             | (_, Sharing {spec, equation}) =>
++                  reg (Sharing {spec = seq (s, spec), equation = equation})
++             | _ => reg (Seq (s, s'))
++         end
++   end
++
++fun consTopdec (d, dss) =
++   case dss of
++      [] => [[d]]
++    | ds :: dss => (d :: ds) :: dss
++
++type rule = Pat.t * Exp.t
++type clause = {pats : Pat.t vector,
++               resultType : Type.t option,
++               body : Exp.t}
++type clauses = clause vector
++type eb = Con.t * EbRhs.t
++type db = {tyvars: Tyvar.t vector,
++           tycon: Tycon.t,
++           cons: (Con.t * Type.t option) vector}
++type tb = {def: Type.t,
++           tycon: Tycon.t,
++           tyvars: Tyvar.t vector}
++
++type strdesc = Strid.t * Sigexp.t
++
++type typdesc =  {tyvars: Tyvar.t vector,
++                 tycon: Tycon.t}
++
++type valdesc = Var.t * Type.t
++
++type exndesc = Con.t * Type.t option
++
++type strbind = {name: Strid.t,
++                def: Strexp.t,
++                constraint: SigConst.t}
++
++type sigbind = Sigid.t * Sigexp.t
++
++type funbind = {name : Fctid.t,
++                arg : FctArg.t,
++                result : SigConst.t,
++                body : Strexp.t}
++
++type vb = {pat: Pat.t,
++           exp: Exp.t}
++
++type rvb = {pat: Pat.t,
++            match: Match.t}
++
++fun longIdFromTok (s, left, right) =
++   let
++      val syms = List.map (String.split (s, #"."), Symbol.fromString)
++   in
++      (syms, reg (left, right))
++   end
++
++fun shortIdFromTok (s, left, right) =
++   (Symbol.fromString s, reg (left, right))
++
++fun longIdFromShortId (sym, reg) = ([sym], reg)
++
++fun cons1 (x, (l, y)) = (x :: l, y)
++
++fun augment (id, sigexp, (whereeqns, binds)) =
++   (id, Sigexp.wheree (sigexp, Vector.fromList whereeqns))
++   :: binds
++
++fun 'a augment1 ((strexp: Strexp.t,
++                  sigconst: Sigexp.t -> SigConst.t,
++                  sigexp: Sigexp.t),
++                 (whereeqns: WhereEquation.t list,
++                  z: 'a)): Strexp.t * 'a =
++   let
++      val sigexp = Sigexp.wheree (sigexp, Vector.fromList whereeqns)
++   in
++      (Strexp.makeRegion
++       (Strexp.Constrained (strexp, sigconst sigexp),
++        Region.append (Strexp.region strexp, Sigexp.region sigexp)),
++       z)
++   end
++
++type 'a whereAndEqns = WhereEquation.t list * 'a list
++
++  
++(*#line 244.1 "ml.grm.sml"*)
++end
++structure LrTable = Token.LrTable
++structure Token = Token
++local open LrTable in 
++val table=let val actionRows =
++"\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\009\000\120\000\010\000\068\000\016\000\066\000\017\000\188\000\
++\\037\000\119\000\043\000\118\000\044\000\117\000\047\000\116\000\
++\\051\000\115\000\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\009\000\120\000\010\000\068\000\016\000\066\000\037\000\119\000\
++\\043\000\118\000\044\000\117\000\047\000\116\000\051\000\115\000\
++\\057\000\114\000\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\017\000\188\000\037\000\119\000\
++\\043\000\118\000\044\000\117\000\047\000\242\000\051\000\115\000\
++\\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\056\000\160\000\069\000\037\000\
++\\073\000\036\000\074\000\035\000\075\000\034\000\076\000\033\000\
++\\077\000\032\000\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\056\000\175\000\069\000\037\000\
++\\073\000\036\000\074\000\035\000\075\000\034\000\076\000\033\000\
++\\077\000\032\000\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\058\000\147\000\069\000\037\000\
++\\073\000\036\000\074\000\035\000\075\000\034\000\076\000\033\000\
++\\077\000\032\000\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\069\000\037\000\073\000\036\000\
++\\074\000\035\000\075\000\034\000\076\000\033\000\077\000\032\000\
++\\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\057\000\114\000\
++\\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\057\000\250\000\
++\\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\007\000\070\000\
++\\008\000\069\000\010\000\068\000\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\169\000\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\169\000\
++\\055\000\168\000\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\169\000\
++\\055\000\070\001\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\009\001\
++\\023\000\008\001\027\000\063\000\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\009\001\
++\\023\000\008\001\027\000\063\000\055\000\007\001\000\000\
++\\001\000\003\000\155\003\004\000\155\003\005\000\155\003\011\000\154\003\
++\\012\000\154\003\013\000\154\003\014\000\154\003\015\000\154\003\
++\\016\000\155\003\017\000\154\003\019\000\154\003\020\000\154\003\
++\\021\000\154\003\022\000\154\003\024\000\154\003\025\000\154\003\
++\\026\000\154\003\027\000\154\003\028\000\154\003\029\000\154\003\
++\\030\000\154\003\031\000\154\003\033\000\154\003\034\000\154\003\
++\\035\000\154\003\039\000\154\003\040\000\154\003\041\000\154\003\
++\\042\000\154\003\046\000\154\003\048\000\154\003\049\000\154\003\
++\\050\000\154\003\052\000\154\003\053\000\154\003\055\000\154\003\
++\\056\000\154\003\058\000\154\003\059\000\154\003\060\000\154\003\
++\\062\000\154\003\064\000\154\003\065\000\154\003\066\000\154\003\
++\\067\000\154\003\068\000\154\003\071\000\154\003\072\000\154\003\
++\\081\000\154\003\000\000\
++\\001\000\003\000\074\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\006\000\071\000\
++\\016\000\066\000\027\000\063\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\006\000\071\000\
++\\016\000\066\000\027\000\063\000\051\000\148\001\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\009\000\120\000\
++\\043\000\226\000\047\000\225\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\016\000\063\001\000\000\
++\\001\000\003\000\074\000\004\000\073\000\016\000\066\000\027\000\063\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\016\000\066\000\027\000\063\000\
++\\051\000\198\000\000\000\
++\\001\000\003\000\074\000\005\000\072\000\000\000\
++\\001\000\003\000\074\000\005\000\072\000\045\000\196\001\063\000\195\001\000\000\
++\\001\000\003\000\074\000\005\000\072\000\066\000\223\001\000\000\
++\\001\000\003\000\074\000\061\000\109\001\000\000\
++\\001\000\003\000\074\000\066\000\015\002\000\000\
++\\001\000\008\000\090\000\000\000\
++\\001\000\008\000\090\000\016\000\092\000\000\000\
++\\001\000\008\000\090\000\016\000\094\000\000\000\
++\\001\000\009\000\120\000\000\000\
++\\001\000\011\000\152\002\012\000\003\002\019\000\155\002\020\000\155\002\
++\\022\000\152\002\025\000\152\002\026\000\152\002\029\000\152\002\
++\\030\000\152\002\033\000\152\002\034\000\152\002\039\000\152\002\
++\\041\000\152\002\042\000\152\002\046\000\152\002\048\000\152\002\
++\\052\000\152\002\053\000\152\002\058\000\152\002\059\000\152\002\
++\\062\000\152\002\064\000\152\002\066\000\152\002\067\000\152\002\
++\\068\000\007\002\081\000\152\002\000\000\
++\\001\000\011\000\152\002\012\000\079\002\019\000\170\002\020\000\170\002\
++\\022\000\152\002\025\000\152\002\026\000\152\002\029\000\152\002\
++\\030\000\152\002\033\000\152\002\034\000\152\002\039\000\152\002\
++\\041\000\152\002\042\000\152\002\046\000\152\002\048\000\152\002\
++\\052\000\152\002\053\000\152\002\058\000\152\002\059\000\152\002\
++\\062\000\152\002\064\000\152\002\066\000\152\002\067\000\152\002\
++\\068\000\007\002\081\000\152\002\000\000\
++\\001\000\011\000\152\002\012\000\079\002\019\000\173\002\020\000\173\002\
++\\022\000\152\002\025\000\152\002\026\000\152\002\029\000\152\002\
++\\030\000\152\002\033\000\152\002\034\000\152\002\039\000\152\002\
++\\041\000\152\002\042\000\152\002\046\000\152\002\048\000\152\002\
++\\052\000\152\002\053\000\152\002\058\000\152\002\059\000\152\002\
++\\062\000\152\002\064\000\152\002\066\000\152\002\067\000\152\002\
++\\068\000\007\002\081\000\152\002\000\000\
++\\001\000\011\000\160\002\012\000\160\002\019\000\157\002\020\000\157\002\
++\\022\000\160\002\025\000\160\002\026\000\160\002\029\000\160\002\
++\\030\000\160\002\033\000\160\002\034\000\160\002\039\000\160\002\
++\\041\000\160\002\042\000\160\002\046\000\160\002\048\000\160\002\
++\\052\000\160\002\053\000\160\002\058\000\160\002\059\000\160\002\
++\\062\000\160\002\064\000\160\002\066\000\160\002\067\000\160\002\
++\\081\000\160\002\000\000\
++\\001\000\011\000\231\002\012\000\105\002\019\000\155\002\020\000\155\002\
++\\022\000\231\002\026\000\231\002\029\000\231\002\030\000\231\002\
++\\033\000\231\002\034\000\231\002\041\000\231\002\042\000\231\002\
++\\046\000\231\002\048\000\231\002\052\000\231\002\053\000\231\002\
++\\059\000\231\002\062\000\231\002\064\000\231\002\066\000\231\002\
++\\067\000\231\002\068\000\108\002\081\000\231\002\000\000\
++\\001\000\011\000\231\002\012\000\120\002\019\000\170\002\020\000\170\002\
++\\022\000\231\002\026\000\231\002\029\000\231\002\030\000\231\002\
++\\033\000\231\002\034\000\231\002\041\000\231\002\042\000\231\002\
++\\046\000\231\002\048\000\231\002\052\000\231\002\053\000\231\002\
++\\059\000\231\002\062\000\231\002\064\000\231\002\066\000\231\002\
++\\067\000\231\002\068\000\108\002\081\000\231\002\000\000\
++\\001\000\011\000\231\002\012\000\120\002\019\000\173\002\020\000\173\002\
++\\022\000\231\002\026\000\231\002\029\000\231\002\030\000\231\002\
++\\033\000\231\002\034\000\231\002\041\000\231\002\042\000\231\002\
++\\046\000\231\002\048\000\231\002\052\000\231\002\053\000\231\002\
++\\059\000\231\002\062\000\231\002\064\000\231\002\066\000\231\002\
++\\067\000\231\002\068\000\108\002\081\000\231\002\000\000\
++\\001\000\011\000\212\003\012\000\212\003\019\000\212\003\020\000\212\003\
++\\022\000\212\003\025\000\212\003\026\000\212\003\029\000\212\003\
++\\030\000\212\003\033\000\212\003\034\000\212\003\039\000\212\003\
++\\041\000\212\003\042\000\212\003\046\000\212\003\047\000\216\003\
++\\048\000\212\003\052\000\212\003\053\000\212\003\058\000\212\003\
++\\059\000\212\003\062\000\212\003\064\000\212\003\066\000\212\003\
++\\067\000\212\003\081\000\212\003\000\000\
++\\001\000\013\000\087\000\019\000\086\000\024\000\208\001\035\000\085\000\
++\\049\000\084\000\000\000\
++\\001\000\013\000\087\000\019\000\086\000\030\000\240\000\035\000\085\000\
++\\049\000\084\000\000\000\
++\\001\000\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\
++\\050\000\059\001\000\000\
++\\001\000\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\
++\\059\000\083\000\000\000\
++\\001\000\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\
++\\065\000\038\001\000\000\
++\\001\000\014\000\064\001\015\000\019\002\000\000\
++\\001\000\014\000\064\001\021\000\162\001\058\000\161\001\000\000\
++\\001\000\014\000\064\001\027\000\174\001\000\000\
++\\001\000\014\000\064\001\059\000\166\001\000\000\
++\\001\000\014\000\064\001\059\000\168\001\000\000\
++\\001\000\014\000\064\001\059\000\173\001\000\000\
++\\001\000\014\000\064\001\059\000\175\001\000\000\
++\\001\000\014\000\064\001\059\000\245\001\000\000\
++\\001\000\014\000\064\001\059\000\246\001\000\000\
++\\001\000\014\000\064\001\059\000\247\001\000\000\
++\\001\000\014\000\064\001\059\000\248\001\000\000\
++\\001\000\014\000\064\001\059\000\249\001\000\000\
++\\001\000\015\000\188\003\019\000\188\003\021\000\188\003\027\000\207\003\
++\\055\000\188\003\000\000\
++\\001\000\015\000\189\003\019\000\189\003\021\000\189\003\027\000\208\003\
++\\055\000\189\003\000\000\
++\\001\000\015\000\190\003\019\000\190\003\021\000\190\003\027\000\209\003\
++\\055\000\190\003\000\000\
++\\001\000\019\000\228\000\000\000\
++\\001\000\019\000\231\000\000\000\
++\\001\000\019\000\237\000\000\000\
++\\001\000\019\000\238\000\000\000\
++\\001\000\019\000\239\000\000\000\
++\\001\000\019\000\034\001\021\000\006\003\027\000\210\003\055\000\006\003\000\000\
++\\001\000\019\000\072\001\000\000\
++\\001\000\019\000\076\001\000\000\
++\\001\000\019\000\077\001\000\000\
++\\001\000\019\000\078\001\000\000\
++\\001\000\019\000\079\001\000\000\
++\\001\000\019\000\112\001\000\000\
++\\001\000\019\000\165\001\000\000\
++\\001\000\019\000\209\001\000\000\
++\\001\000\019\000\009\002\020\000\008\002\000\000\
++\\001\000\019\000\009\002\020\000\008\002\025\000\098\002\000\000\
++\\001\000\019\000\009\002\020\000\008\002\058\000\080\002\000\000\
++\\001\000\019\000\024\002\000\000\
++\\001\000\019\000\028\002\000\000\
++\\001\000\025\000\205\001\000\000\
++\\001\000\025\000\206\001\000\000\
++\\001\000\025\000\239\001\000\000\
++\\001\000\025\000\016\002\000\000\
++\\001\000\025\000\020\002\000\000\
++\\001\000\025\000\052\002\000\000\
++\\001\000\026\000\000\000\000\000\
++\\001\000\027\000\243\000\000\000\
++\\001\000\027\000\016\001\000\000\
++\\001\000\027\000\035\001\000\000\
++\\001\000\027\000\089\001\000\000\
++\\001\000\027\000\100\001\000\000\
++\\001\000\027\000\102\001\000\000\
++\\001\000\027\000\104\001\000\000\
++\\001\000\027\000\142\001\000\000\
++\\001\000\027\000\150\001\000\000\
++\\001\000\027\000\154\001\000\000\
++\\001\000\027\000\029\002\000\000\
++\\001\000\027\000\063\002\000\000\
++\\001\000\027\000\070\002\000\000\
++\\001\000\027\000\101\002\000\000\
++\\001\000\031\000\144\001\000\000\
++\\001\000\032\000\178\001\000\000\
++\\001\000\039\000\024\001\000\000\
++\\001\000\039\000\027\001\000\000\
++\\001\000\039\000\119\001\000\000\
++\\001\000\039\000\053\002\000\000\
++\\001\000\047\000\040\001\000\000\
++\\001\000\047\000\011\002\000\000\
++\\001\000\055\000\036\001\000\000\
++\\001\000\055\000\098\001\000\000\
++\\001\000\055\000\163\001\000\000\
++\\001\000\056\000\031\001\000\000\
++\\001\000\056\000\039\001\000\000\
++\\001\000\056\000\096\001\000\000\
++\\001\000\056\000\101\001\000\000\
++\\001\000\058\000\019\001\000\000\
++\\001\000\058\000\020\001\000\000\
++\\001\000\058\000\091\001\000\000\
++\\001\000\058\000\093\001\000\000\
++\\001\000\058\000\160\001\000\000\
++\\001\000\058\000\211\001\000\000\
++\\001\000\058\000\081\002\000\000\
++\\001\000\059\000\042\002\000\000\
++\\001\000\066\000\015\002\000\000\
++\\001\000\071\000\061\001\000\000\
++\\126\002\000\000\
++\\127\002\000\000\
++\\128\002\000\000\
++\\129\002\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\011\000\067\000\016\000\066\000\018\000\065\000\
++\\022\000\064\000\027\000\063\000\029\000\062\000\030\000\061\000\
++\\032\000\060\000\033\000\059\000\034\000\058\000\036\000\057\000\
++\\037\000\056\000\038\000\055\000\041\000\054\000\042\000\053\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\046\000\049\000\
++\\047\000\048\000\048\000\047\000\051\000\046\000\052\000\045\000\
++\\053\000\044\000\054\000\043\000\059\000\042\000\062\000\041\000\
++\\064\000\040\000\066\000\039\000\067\000\038\000\069\000\037\000\
++\\073\000\036\000\074\000\035\000\075\000\034\000\076\000\033\000\
++\\077\000\032\000\078\000\031\000\079\000\030\000\080\000\029\000\
++\\081\000\028\000\000\000\
++\\129\002\011\000\067\000\022\000\064\000\029\000\062\000\030\000\061\000\
++\\033\000\059\000\034\000\058\000\041\000\054\000\042\000\053\000\
++\\046\000\049\000\048\000\047\000\052\000\045\000\053\000\044\000\
++\\059\000\042\000\062\000\041\000\064\000\040\000\066\000\039\000\
++\\067\000\038\000\081\000\028\000\000\000\
++\\130\002\000\000\
++\\131\002\000\000\
++\\132\002\000\000\
++\\133\002\000\000\
++\\134\002\000\000\
++\\135\002\000\000\
++\\136\002\000\000\
++\\137\002\003\000\074\000\005\000\072\000\011\000\067\000\022\000\064\000\
++\\029\000\062\000\030\000\061\000\033\000\059\000\041\000\054\000\
++\\042\000\053\000\045\000\196\001\046\000\049\000\048\000\047\000\
++\\052\000\045\000\053\000\044\000\059\000\151\000\063\000\195\001\
++\\064\000\040\000\066\000\039\000\067\000\038\000\081\000\028\000\000\000\
++\\137\002\011\000\067\000\022\000\064\000\029\000\062\000\030\000\061\000\
++\\033\000\059\000\041\000\054\000\042\000\053\000\046\000\049\000\
++\\048\000\047\000\052\000\045\000\053\000\044\000\059\000\151\000\
++\\064\000\040\000\066\000\039\000\067\000\038\000\081\000\028\000\000\000\
++\\138\002\000\000\
++\\139\002\000\000\
++\\140\002\000\000\
++\\141\002\000\000\
++\\142\002\000\000\
++\\143\002\000\000\
++\\144\002\000\000\
++\\145\002\000\000\
++\\146\002\000\000\
++\\147\002\000\000\
++\\148\002\000\000\
++\\149\002\000\000\
++\\150\002\000\000\
++\\151\002\000\000\
++\\152\002\012\000\003\002\000\000\
++\\153\002\000\000\
++\\154\002\000\000\
++\\155\002\068\000\199\001\000\000\
++\\156\002\000\000\
++\\157\002\000\000\
++\\158\002\000\000\
++\\159\002\000\000\
++\\161\002\000\000\
++\\162\002\000\000\
++\\163\002\000\000\
++\\164\002\000\000\
++\\165\002\000\000\
++\\166\002\000\000\
++\\167\002\068\000\199\001\000\000\
++\\168\002\000\000\
++\\169\002\000\000\
++\\170\002\012\000\056\002\068\000\199\001\000\000\
++\\171\002\000\000\
++\\172\002\000\000\
++\\173\002\012\000\056\002\068\000\199\001\000\000\
++\\174\002\000\000\
++\\175\002\000\000\
++\\176\002\000\000\
++\\177\002\000\000\
++\\178\002\000\000\
++\\178\002\003\000\074\000\000\000\
++\\179\002\000\000\
++\\180\002\012\000\203\001\068\000\202\001\000\000\
++\\180\002\012\000\060\002\068\000\202\001\000\000\
++\\181\002\000\000\
++\\182\002\000\000\
++\\183\002\000\000\
++\\184\002\000\000\
++\\185\002\014\000\064\001\000\000\
++\\186\002\019\000\015\001\020\000\014\001\000\000\
++\\187\002\000\000\
++\\188\002\000\000\
++\\189\002\003\000\074\000\022\000\139\001\028\000\138\001\029\000\137\001\
++\\040\000\136\001\059\000\135\001\060\000\134\001\064\000\133\001\
++\\066\000\132\001\067\000\131\001\000\000\
++\\189\002\022\000\139\001\028\000\138\001\029\000\137\001\040\000\136\001\
++\\059\000\135\001\060\000\134\001\064\000\133\001\066\000\132\001\
++\\067\000\131\001\000\000\
++\\190\002\000\000\
++\\191\002\000\000\
++\\192\002\000\000\
++\\193\002\000\000\
++\\194\002\000\000\
++\\195\002\000\000\
++\\196\002\000\000\
++\\197\002\000\000\
++\\198\002\000\000\
++\\199\002\000\000\
++\\200\002\000\000\
++\\201\002\000\000\
++\\202\002\000\000\
++\\203\002\000\000\
++\\204\002\000\000\
++\\205\002\027\000\029\002\000\000\
++\\206\002\000\000\
++\\207\002\027\000\070\002\000\000\
++\\208\002\000\000\
++\\209\002\000\000\
++\\210\002\012\000\092\002\068\000\091\002\000\000\
++\\210\002\012\000\117\002\068\000\091\002\000\000\
++\\211\002\000\000\
++\\212\002\000\000\
++\\213\002\000\000\
++\\214\002\000\000\
++\\215\002\012\000\027\002\000\000\
++\\216\002\000\000\
++\\217\002\000\000\
++\\217\002\027\000\102\001\000\000\
++\\218\002\012\000\025\002\000\000\
++\\219\002\000\000\
++\\220\002\014\000\064\001\000\000\
++\\221\002\012\000\034\002\000\000\
++\\222\002\000\000\
++\\223\002\000\000\
++\\224\002\050\000\036\002\000\000\
++\\225\002\014\000\064\001\000\000\
++\\226\002\000\000\
++\\227\002\000\000\
++\\228\002\000\000\
++\\229\002\000\000\
++\\230\002\000\000\
++\\231\002\012\000\105\002\000\000\
++\\232\002\000\000\
++\\233\002\000\000\
++\\234\002\000\000\
++\\235\002\000\000\
++\\236\002\000\000\
++\\237\002\011\000\067\000\022\000\064\000\029\000\062\000\030\000\061\000\
++\\033\000\059\000\041\000\054\000\042\000\053\000\046\000\157\000\
++\\048\000\047\000\052\000\045\000\053\000\044\000\059\000\156\000\
++\\066\000\039\000\067\000\038\000\000\000\
++\\238\002\000\000\
++\\239\002\000\000\
++\\240\002\000\000\
++\\241\002\000\000\
++\\242\002\000\000\
++\\243\002\000\000\
++\\244\002\000\000\
++\\245\002\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\246\002\000\000\
++\\247\002\000\000\
++\\248\002\000\000\
++\\249\002\000\000\
++\\250\002\000\000\
++\\251\002\000\000\
++\\252\002\000\000\
++\\253\002\000\000\
++\\254\002\000\000\
++\\255\002\000\000\
++\\000\003\012\000\176\001\013\000\087\000\019\000\086\000\035\000\085\000\
++\\049\000\084\000\000\000\
++\\001\003\000\000\
++\\002\003\000\000\
++\\003\003\000\000\
++\\004\003\012\000\043\002\000\000\
++\\005\003\000\000\
++\\006\003\019\000\034\001\000\000\
++\\007\003\014\000\064\001\000\000\
++\\008\003\012\000\043\001\000\000\
++\\009\003\000\000\
++\\010\003\000\000\
++\\011\003\000\000\
++\\012\003\017\000\044\001\000\000\
++\\013\003\000\000\
++\\014\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\015\003\000\000\
++\\016\003\000\000\
++\\017\003\012\000\012\001\000\000\
++\\018\003\000\000\
++\\019\003\014\000\064\001\000\000\
++\\020\003\000\000\
++\\021\003\009\000\120\000\047\000\127\000\000\000\
++\\022\003\000\000\
++\\023\003\000\000\
++\\024\003\021\000\092\001\000\000\
++\\025\003\000\000\
++\\026\003\017\000\075\002\000\000\
++\\027\003\000\000\
++\\028\003\050\000\074\002\000\000\
++\\029\003\014\000\064\001\000\000\
++\\030\003\000\000\
++\\031\003\000\000\
++\\032\003\012\000\053\001\000\000\
++\\033\003\000\000\
++\\034\003\000\000\
++\\035\003\000\000\
++\\036\003\027\000\052\001\050\000\051\001\000\000\
++\\037\003\014\000\064\001\000\000\
++\\038\003\000\000\
++\\039\003\000\000\
++\\040\003\002\000\138\000\000\000\
++\\041\003\000\000\
++\\042\003\002\000\138\000\000\000\
++\\043\003\000\000\
++\\044\003\000\000\
++\\045\003\002\000\138\000\000\000\
++\\046\003\000\000\
++\\047\003\000\000\
++\\048\003\000\000\
++\\049\003\000\000\
++\\050\003\000\000\
++\\051\003\000\000\
++\\052\003\000\000\
++\\053\003\000\000\
++\\054\003\000\000\
++\\055\003\072\000\057\001\000\000\
++\\056\003\000\000\
++\\057\003\000\000\
++\\058\003\012\000\058\001\000\000\
++\\059\003\000\000\
++\\060\003\000\000\
++\\061\003\000\000\
++\\062\003\012\000\086\002\000\000\
++\\063\003\000\000\
++\\064\003\000\000\
++\\065\003\017\000\143\001\000\000\
++\\066\003\000\000\
++\\067\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\068\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\069\003\000\000\
++\\070\003\000\000\
++\\071\003\021\000\037\001\000\000\
++\\072\003\000\000\
++\\073\003\000\000\
++\\074\003\000\000\
++\\075\003\000\000\
++\\076\003\013\000\087\000\019\000\086\000\000\000\
++\\077\003\019\000\086\000\000\000\
++\\078\003\014\000\064\001\000\000\
++\\079\003\000\000\
++\\080\003\000\000\
++\\081\003\000\000\
++\\082\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\083\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\084\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\085\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\027\000\063\000\036\000\057\000\
++\\037\000\056\000\043\000\052\000\044\000\051\000\045\000\050\000\
++\\047\000\048\000\051\000\046\000\073\000\036\000\074\000\035\000\
++\\075\000\034\000\076\000\033\000\077\000\032\000\078\000\031\000\
++\\079\000\030\000\080\000\029\000\000\000\
++\\086\003\000\000\
++\\087\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\027\000\063\000\036\000\057\000\
++\\037\000\056\000\043\000\052\000\044\000\051\000\045\000\050\000\
++\\047\000\048\000\051\000\046\000\073\000\036\000\074\000\035\000\
++\\075\000\034\000\076\000\033\000\077\000\032\000\078\000\031\000\
++\\079\000\030\000\080\000\029\000\000\000\
++\\088\003\000\000\
++\\089\003\000\000\
++\\090\003\000\000\
++\\091\003\000\000\
++\\092\003\000\000\
++\\093\003\000\000\
++\\094\003\000\000\
++\\095\003\000\000\
++\\096\003\000\000\
++\\097\003\000\000\
++\\098\003\000\000\
++\\099\003\000\000\
++\\100\003\000\000\
++\\101\003\000\000\
++\\102\003\000\000\
++\\103\003\000\000\
++\\104\003\000\000\
++\\105\003\000\000\
++\\106\003\000\000\
++\\107\003\000\000\
++\\108\003\000\000\
++\\109\003\000\000\
++\\110\003\000\000\
++\\111\003\000\000\
++\\112\003\003\000\074\000\000\000\
++\\113\003\000\000\
++\\114\003\003\000\074\000\000\000\
++\\115\003\000\000\
++\\116\003\000\000\
++\\117\003\013\000\087\000\019\000\086\000\021\000\023\001\035\000\085\000\
++\\049\000\084\000\000\000\
++\\118\003\013\000\087\000\019\000\086\000\021\000\032\001\035\000\085\000\
++\\049\000\084\000\000\000\
++\\119\003\000\000\
++\\120\003\000\000\
++\\121\003\015\000\246\000\017\000\245\000\019\000\244\000\000\000\
++\\122\003\000\000\
++\\123\003\015\000\246\000\019\000\244\000\000\000\
++\\124\003\014\000\064\001\000\000\
++\\125\003\000\000\
++\\126\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\070\000\113\000\000\000\
++\\127\003\000\000\
++\\128\003\000\000\
++\\129\003\000\000\
++\\130\003\000\000\
++\\131\003\000\000\
++\\132\003\000\000\
++\\133\003\000\000\
++\\134\003\000\000\
++\\135\003\000\000\
++\\136\003\000\000\
++\\137\003\000\000\
++\\138\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\009\000\120\000\010\000\068\000\016\000\066\000\037\000\119\000\
++\\043\000\118\000\044\000\117\000\047\000\242\000\051\000\115\000\
++\\070\000\113\000\000\000\
++\\138\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\070\000\113\000\000\000\
++\\139\003\000\000\
++\\140\003\015\000\246\000\017\000\177\001\019\000\244\000\000\000\
++\\141\003\000\000\
++\\142\003\021\000\095\001\000\000\
++\\143\003\000\000\
++\\144\003\000\000\
++\\145\003\021\000\099\001\000\000\
++\\146\003\000\000\
++\\147\003\000\000\
++\\148\003\000\000\
++\\149\003\015\000\182\001\000\000\
++\\150\003\000\000\
++\\151\003\000\000\
++\\152\003\000\000\
++\\153\003\014\000\064\001\000\000\
++\\155\003\000\000\
++\\156\003\000\000\
++\\157\003\000\000\
++\\158\003\000\000\
++\\159\003\000\000\
++\\160\003\000\000\
++\\161\003\000\000\
++\\162\003\000\000\
++\\163\003\014\000\064\001\000\000\
++\\164\003\000\000\
++\\165\003\021\000\164\001\000\000\
++\\166\003\000\000\
++\\167\003\003\000\074\000\004\000\073\000\005\000\072\000\016\000\063\001\000\000\
++\\168\003\014\000\064\001\021\000\162\001\000\000\
++\\169\003\000\000\
++\\170\003\017\000\188\000\000\000\
++\\170\003\017\000\188\000\022\000\238\001\000\000\
++\\171\003\000\000\
++\\172\003\000\000\
++\\173\003\013\000\087\000\019\000\086\000\021\000\023\001\035\000\085\000\
++\\049\000\084\000\059\000\022\001\000\000\
++\\173\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\
++\\059\000\022\001\000\000\
++\\174\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\069\000\037\000\073\000\036\000\
++\\074\000\035\000\075\000\034\000\076\000\033\000\077\000\032\000\
++\\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\175\003\000\000\
++\\176\003\000\000\
++\\177\003\000\000\
++\\178\003\000\000\
++\\179\003\000\000\
++\\180\003\000\000\
++\\181\003\000\000\
++\\182\003\000\000\
++\\183\003\000\000\
++\\184\003\000\000\
++\\185\003\000\000\
++\\186\003\000\000\
++\\187\003\000\000\
++\\188\003\000\000\
++\\189\003\000\000\
++\\190\003\000\000\
++\\191\003\000\000\
++\\192\003\000\000\
++\\193\003\000\000\
++\\194\003\000\000\
++\\195\003\000\000\
++\\196\003\000\000\
++\\197\003\000\000\
++\\198\003\000\000\
++\\199\003\000\000\
++\\200\003\000\000\
++\\201\003\000\000\
++\\202\003\000\000\
++\\203\003\000\000\
++\\204\003\000\000\
++\\205\003\000\000\
++\\206\003\000\000\
++\\207\003\000\000\
++\\208\003\000\000\
++\\209\003\000\000\
++\\210\003\000\000\
++\\211\003\000\000\
++\\212\003\000\000\
++\\213\003\000\000\
++\\214\003\000\000\
++\\215\003\000\000\
++\\216\003\000\000\
++\\217\003\003\000\074\000\004\000\073\000\016\000\066\000\027\000\063\000\000\000\
++\\218\003\000\000\
++\\219\003\003\000\074\000\000\000\
++\\220\003\000\000\
++\\221\003\003\000\074\000\005\000\072\000\000\000\
++\\222\003\000\000\
++\"
++val actionRowNumbers =
++"\131\000\189\001\204\001\207\001\
++\\130\000\135\000\132\000\144\000\
++\\136\000\199\001\198\001\208\001\
++\\209\001\095\001\206\001\205\001\
++\\188\001\024\000\128\000\082\001\
++\\046\000\147\000\187\001\098\001\
++\\087\001\093\001\148\000\031\000\
++\\032\000\033\000\031\000\031\000\
++\\031\000\031\000\031\000\006\000\
++\\001\000\029\001\017\000\017\000\
++\\131\000\006\000\053\001\026\000\
++\\020\000\052\001\005\000\141\000\
++\\245\000\003\000\012\000\050\001\
++\\048\001\006\000\004\000\011\000\
++\\017\000\000\000\178\001\006\000\
++\\025\000\201\001\029\001\006\000\
++\\200\001\029\001\056\001\191\001\
++\\190\001\197\001\196\001\195\001\
++\\194\001\055\001\192\001\133\000\
++\\096\001\005\001\202\001\203\001\
++\\227\001\131\000\006\000\178\001\
++\\022\000\006\000\094\001\063\000\
++\\193\001\122\001\064\000\120\001\
++\\120\001\120\001\122\001\065\000\
++\\066\000\067\000\044\000\251\000\
++\\007\001\007\000\030\001\089\000\
++\\137\001\130\001\129\001\139\001\
++\\133\001\136\001\134\001\140\001\
++\\008\000\020\000\146\001\147\001\
++\\015\000\147\001\212\001\028\001\
++\\018\000\000\001\024\001\023\001\
++\\025\001\034\000\191\000\145\000\
++\\222\001\090\000\137\000\225\001\
++\\134\000\092\001\024\000\054\001\
++\\057\001\223\001\004\001\231\001\
++\\224\001\097\001\118\000\119\000\
++\\182\001\104\001\139\000\105\000\
++\\141\000\141\000\106\000\249\000\
++\\248\000\245\000\245\000\245\000\
++\\114\000\126\001\108\001\218\001\
++\\217\001\221\001\068\000\091\000\
++\\111\000\079\001\103\001\219\001\
++\\058\001\051\001\049\001\047\000\
++\\115\000\101\001\220\001\099\001\
++\\226\001\138\000\109\000\002\000\
++\\009\000\254\000\016\001\018\001\
++\\020\001\014\001\181\001\180\001\
++\\009\000\088\001\253\000\210\001\
++\\044\001\003\001\040\001\038\001\
++\\024\000\018\000\060\001\065\001\
++\\063\001\066\001\059\001\001\001\
++\\061\001\045\000\018\000\127\000\
++\\228\001\129\000\084\001\083\001\
++\\164\001\160\001\215\001\016\000\
++\\023\000\086\001\161\001\214\001\
++\\213\001\170\001\216\001\022\000\
++\\013\000\085\001\022\000\069\000\
++\\122\001\022\000\120\001\070\000\
++\\071\000\072\000\073\000\022\000\
++\\022\000\022\000\006\000\252\000\
++\\147\001\006\000\022\000\009\000\
++\\009\000\135\001\010\001\092\000\
++\\008\000\138\001\120\000\032\001\
++\\121\000\151\001\116\000\014\001\
++\\061\000\060\000\112\000\154\001\
++\\093\000\144\001\155\001\062\000\
++\\117\000\094\000\029\001\095\000\
++\\029\000\029\000\029\000\074\000\
++\\232\001\105\001\106\001\080\001\
++\\184\001\006\000\141\000\143\000\
++\\142\000\006\000\246\000\247\000\
++\\107\000\107\001\006\000\077\001\
++\\022\000\006\000\102\001\011\000\
++\\006\000\100\001\194\000\255\000\
++\\019\001\002\000\009\000\096\000\
++\\072\001\073\001\103\000\043\001\
++\\042\001\022\000\021\000\025\000\
++\\039\001\097\000\064\001\029\001\
++\\029\001\178\001\098\000\245\000\
++\\169\001\022\000\022\000\122\000\
++\\049\000\113\000\173\001\075\000\
++\\166\001\051\000\022\000\123\001\
++\\052\000\121\001\022\000\022\000\
++\\022\000\022\000\053\000\050\000\
++\\054\000\090\001\008\001\132\001\
++\\149\001\128\001\131\001\104\000\
++\\011\001\031\001\034\000\141\001\
++\\148\001\009\000\142\001\158\001\
++\\145\001\014\000\009\000\143\001\
++\\022\000\026\001\027\000\181\000\
++\\180\000\170\000\193\000\195\000\
++\\192\000\184\000\022\000\081\001\
++\\183\001\124\001\125\001\082\000\
++\\083\000\245\000\127\001\015\001\
++\\076\001\078\001\043\000\076\000\
++\\244\000\198\000\195\000\208\000\
++\\123\000\024\000\029\001\017\000\
++\\028\000\195\000\029\000\024\000\
++\\029\001\029\001\017\001\021\001\
++\\006\000\009\000\006\000\045\001\
++\\211\001\046\001\020\000\041\001\
++\\179\001\069\001\067\001\089\001\
++\\178\001\084\000\163\001\175\001\
++\\174\001\162\001\019\000\168\001\
++\\022\000\165\001\011\000\022\000\
++\\117\001\055\000\119\001\056\000\
++\\057\000\058\000\059\000\113\001\
++\\010\000\111\001\007\000\009\000\
++\\178\001\033\001\151\001\157\001\
++\\009\000\153\001\156\001\027\001\
++\\158\000\038\000\156\000\035\000\
++\\077\000\149\000\042\000\164\000\
++\\110\000\141\000\141\000\172\000\
++\\171\000\126\000\085\000\179\000\
++\\126\000\017\000\048\000\146\000\
++\\109\001\086\000\006\000\029\000\
++\\197\000\191\000\080\000\199\000\
++\\226\000\018\000\200\000\222\000\
++\\201\000\081\000\205\000\210\000\
++\\099\000\019\000\196\000\182\000\
++\\206\000\204\000\229\000\232\000\
++\\018\000\202\000\203\000\022\001\
++\\074\001\075\001\047\001\025\000\
++\\019\000\002\001\167\001\177\001\
++\\176\001\172\001\171\001\118\001\
++\\115\001\116\001\114\001\110\001\
++\\186\001\125\000\185\001\009\001\
++\\150\001\012\001\152\001\159\001\
++\\151\000\017\000\160\000\152\000\
++\\150\000\126\000\029\000\029\000\
++\\166\000\140\000\087\000\108\000\
++\\173\000\029\001\183\000\185\000\
++\\186\000\020\000\250\000\091\001\
++\\243\000\100\000\022\000\024\000\
++\\225\000\029\001\029\000\026\000\
++\\209\000\101\000\207\000\229\001\
++\\024\000\231\000\022\000\224\000\
++\\036\001\068\001\034\001\062\001\
++\\112\001\008\000\157\000\036\000\
++\\163\000\162\000\161\000\159\000\
++\\079\000\124\000\165\000\027\000\
++\\174\000\175\000\126\000\019\000\
++\\187\000\188\000\030\000\006\001\
++\\070\001\027\000\228\000\227\000\
++\\223\000\216\000\212\000\211\000\
++\\019\000\230\001\230\000\233\000\
++\\022\000\025\000\013\001\153\000\
++\\154\000\030\000\168\000\169\000\
++\\078\000\176\000\102\000\185\000\
++\\020\000\239\000\039\000\234\000\
++\\215\000\126\000\017\000\214\000\
++\\213\000\037\001\035\001\037\000\
++\\167\000\178\000\177\000\022\000\
++\\189\000\071\001\236\000\017\000\
++\\237\000\235\000\126\000\217\000\
++\\218\000\155\000\190\000\240\000\
++\\040\000\219\000\220\000\030\000\
++\\238\000\241\000\030\000\217\000\
++\\041\000\221\000\242\000\088\000"
++val gotoT =
++"\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\030\000\021\000\042\000\020\000\046\000\019\000\047\000\018\000\
++\\051\000\017\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\068\000\013\000\069\000\012\000\070\000\011\000\084\000\123\002\
++\\093\000\010\000\094\000\009\000\113\000\008\000\114\000\007\000\
++\\133\000\006\000\134\000\005\000\135\000\004\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\030\000\021\000\051\000\017\000\113\000\008\000\114\000\007\000\
++\\133\000\006\000\134\000\005\000\135\000\075\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\076\000\014\000\023\000\015\000\022\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\068\000\013\000\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\010\000\094\000\009\000\155\000\080\000\156\000\079\000\
++\\157\000\078\000\158\000\077\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\086\000\014\000\023\000\015\000\022\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\068\000\013\000\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\126\000\087\000\000\000\
++\\126\000\089\000\000\000\
++\\126\000\091\000\000\000\
++\\126\000\093\000\000\000\
++\\126\000\094\000\000\000\
++\\126\000\095\000\000\000\
++\\126\000\096\000\000\000\
++\\126\000\097\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\098\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\103\000\
++\\093\000\010\000\094\000\009\000\147\000\102\000\150\000\101\000\
++\\151\000\100\000\152\000\099\000\157\000\002\000\164\000\001\000\000\000\
++\\128\000\124\000\129\000\123\000\130\000\122\000\144\000\121\000\
++\\147\000\102\000\149\000\120\000\150\000\119\000\000\000\
++\\093\000\128\000\108\000\127\000\125\000\126\000\000\000\
++\\093\000\131\000\095\000\130\000\103\000\129\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\030\000\021\000\042\000\020\000\046\000\019\000\047\000\132\000\
++\\051\000\017\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\068\000\013\000\069\000\012\000\070\000\011\000\093\000\010\000\
++\\094\000\009\000\113\000\008\000\114\000\007\000\133\000\006\000\
++\\134\000\005\000\135\000\004\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\133\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\033\000\135\000\083\000\134\000\000\000\
++\\061\000\140\000\063\000\139\000\065\000\138\000\093\000\128\000\
++\\125\000\137\000\000\000\
++\\061\000\015\000\062\000\014\000\068\000\141\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\144\000\043\000\143\000\045\000\142\000\046\000\019\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\068\000\013\000\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\164\000\001\000\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\147\000\116\000\146\000\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\150\000\
++\\051\000\017\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\157\000\044\000\156\000\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\038\000\165\000\039\000\164\000\050\000\163\000\058\000\162\000\
++\\073\000\161\000\093\000\160\000\094\000\159\000\000\000\
++\\033\000\169\000\000\000\
++\\033\000\170\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\171\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\157\000\044\000\172\000\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\050\000\175\000\058\000\174\000\073\000\161\000\093\000\160\000\
++\\094\000\159\000\000\000\
++\\049\000\178\000\052\000\177\000\093\000\176\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\183\000\011\000\182\000\014\000\107\000\015\000\022\000\
++\\057\000\181\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\070\000\104\000\077\000\180\000\093\000\010\000\094\000\009\000\
++\\147\000\102\000\150\000\179\000\157\000\002\000\164\000\001\000\000\000\
++\\072\000\189\000\076\000\188\000\077\000\187\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\190\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\013\000\195\000\034\000\194\000\037\000\193\000\075\000\192\000\
++\\093\000\010\000\094\000\009\000\155\000\191\000\156\000\079\000\
++\\157\000\078\000\000\000\
++\\000\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\026\000\200\000\027\000\199\000\085\000\198\000\147\000\102\000\
++\\149\000\197\000\150\000\119\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\205\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\022\000\207\000\025\000\201\000\026\000\200\000\027\000\199\000\
++\\147\000\102\000\149\000\206\000\150\000\119\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\010\000\094\000\009\000\155\000\080\000\156\000\079\000\
++\\157\000\078\000\158\000\208\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\030\000\021\000\042\000\020\000\046\000\019\000\047\000\209\000\
++\\051\000\017\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\068\000\013\000\069\000\012\000\070\000\011\000\093\000\010\000\
++\\094\000\009\000\113\000\008\000\114\000\007\000\133\000\006\000\
++\\134\000\005\000\135\000\004\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\210\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\072\000\211\000\076\000\188\000\077\000\187\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\217\000\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\225\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\228\000\127\000\227\000\000\000\
++\\000\000\
++\\007\000\231\000\093\000\230\000\000\000\
++\\007\000\232\000\093\000\230\000\000\000\
++\\007\000\233\000\093\000\230\000\000\000\
++\\093\000\228\000\127\000\234\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\103\000\
++\\093\000\010\000\094\000\009\000\151\000\100\000\152\000\239\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\245\000\014\000\107\000\
++\\015\000\022\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\070\000\104\000\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\247\000\
++\\088\000\246\000\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\061\000\015\000\062\000\014\000\068\000\249\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\253\000\
++\\082\000\252\000\093\000\010\000\094\000\009\000\147\000\251\000\
++\\148\000\250\000\157\000\002\000\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\253\000\
++\\082\000\254\000\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\050\000\004\001\058\000\174\000\073\000\161\000\080\000\003\001\
++\\081\000\002\001\093\000\001\001\094\000\000\001\155\000\255\000\
++\\156\000\079\000\157\000\078\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\253\000\
++\\082\000\008\001\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\093\000\220\000\094\000\219\000\142\000\009\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\147\000\251\000\148\000\250\000\000\000\
++\\098\000\011\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\010\000\094\000\009\000\155\000\015\001\156\000\079\000\
++\\157\000\078\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\140\000\063\000\139\000\065\000\016\001\093\000\128\000\
++\\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\078\000\019\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\023\001\116\000\146\000\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\024\001\116\000\146\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\026\001\
++\\051\000\017\000\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\027\001\
++\\051\000\017\000\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\028\001\
++\\051\000\017\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\017\000\031\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\183\000\011\000\182\000\014\000\107\000\015\000\022\000\
++\\057\000\039\001\059\000\016\000\061\000\015\000\062\000\014\000\
++\\070\000\104\000\077\000\180\000\093\000\010\000\094\000\009\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\040\001\014\000\107\000\015\000\022\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\093\000\010\000\
++\\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\017\000\043\001\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\046\001\
++\\086\000\045\001\087\000\044\001\093\000\010\000\094\000\009\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\035\000\048\001\036\000\047\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\013\000\052\001\093\000\010\000\094\000\009\000\155\000\191\000\
++\\156\000\079\000\157\000\078\000\000\000\
++\\093\000\220\000\094\000\219\000\142\000\053\001\000\000\
++\\000\000\
++\\000\000\
++\\163\000\054\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\220\000\094\000\219\000\142\000\058\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\060\001\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\064\001\138\000\216\000\139\000\215\000\
++\\140\000\063\001\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\050\000\067\001\058\000\174\000\073\000\161\000\093\000\160\000\
++\\094\000\159\000\131\000\066\001\132\000\065\001\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\069\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\093\000\228\000\127\000\071\001\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\072\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\007\000\073\001\093\000\230\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\078\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\079\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\080\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\081\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\253\000\
++\\082\000\252\000\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\082\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\083\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\008\000\085\001\
++\\014\000\107\000\015\000\022\000\020\000\084\001\021\000\105\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\070\000\104\000\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\086\001\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\093\000\010\000\
++\\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\247\000\
++\\088\000\088\001\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\012\000\092\001\000\000\
++\\000\000\
++\\017\000\095\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\128\000\124\000\130\000\101\001\147\000\102\000\149\000\120\000\
++\\150\000\119\000\000\000\
++\\000\000\
++\\093\000\131\000\099\000\106\001\100\000\105\001\101\000\104\001\
++\\103\000\103\001\000\000\
++\\093\000\131\000\099\000\108\001\100\000\105\001\101\000\104\001\
++\\103\000\103\001\000\000\
++\\093\000\131\000\100\000\109\001\101\000\104\001\103\000\103\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\112\001\045\000\111\001\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\114\001\043\000\113\001\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\115\001\116\000\146\000\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\112\001\045\000\116\001\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\157\000\044\000\118\001\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\119\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\120\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\038\000\165\000\039\000\121\001\050\000\163\000\058\000\162\000\
++\\073\000\161\000\093\000\160\000\094\000\159\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\122\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\048\000\128\001\092\000\127\001\093\000\128\000\105\000\126\001\
++\\106\000\125\001\107\000\124\001\125\000\123\001\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\183\000\011\000\182\000\014\000\107\000\015\000\022\000\
++\\057\000\138\001\059\000\016\000\061\000\015\000\062\000\014\000\
++\\070\000\104\000\077\000\180\000\093\000\010\000\094\000\009\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\139\001\014\000\107\000\015\000\022\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\093\000\010\000\
++\\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\143\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\060\000\145\001\061\000\015\000\062\000\014\000\068\000\144\001\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\000\000\
++\\013\000\195\000\034\000\194\000\037\000\147\001\075\000\192\000\
++\\093\000\010\000\094\000\009\000\155\000\191\000\156\000\079\000\
++\\157\000\078\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\128\000\124\000\129\000\123\000\130\000\122\000\144\000\149\001\
++\\147\000\102\000\149\000\120\000\150\000\119\000\000\000\
++\\025\000\201\000\027\000\150\001\147\000\102\000\149\000\206\000\
++\\150\000\119\000\000\000\
++\\072\000\151\001\076\000\188\000\077\000\187\000\000\000\
++\\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\153\001\
++\\051\000\017\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\156\001\138\000\155\001\139\000\154\001\142\000\214\000\
++\\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\157\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\165\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\167\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\168\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\169\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\170\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\147\000\251\000\148\000\177\001\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\178\001\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\074\000\179\001\000\000\
++\\000\000\
++\\050\000\004\001\058\000\174\000\073\000\161\000\080\000\003\001\
++\\081\000\181\001\093\000\001\001\094\000\000\001\155\000\255\000\
++\\156\000\079\000\157\000\078\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\182\001\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\183\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\049\000\192\001\061\000\140\000\063\000\191\001\093\000\190\001\
++\\109\000\189\001\120\000\188\001\121\000\187\001\122\000\186\001\
++\\123\000\185\001\124\000\184\001\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\161\000\196\001\162\000\195\001\000\000\
++\\000\000\
++\\092\000\127\001\105\000\126\001\106\000\125\001\107\000\198\001\000\000\
++\\000\000\
++\\096\000\199\001\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\202\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\078\000\019\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\205\001\
++\\051\000\017\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\092\000\127\001\105\000\126\001\106\000\125\001\107\000\208\001\000\000\
++\\000\000\
++\\000\000\
++\\093\000\010\000\094\000\009\000\153\000\212\001\154\000\211\001\
++\\155\000\210\001\156\000\079\000\157\000\078\000\000\000\
++\\128\000\124\000\129\000\123\000\130\000\122\000\144\000\216\001\
++\\145\000\215\001\146\000\214\001\147\000\102\000\149\000\213\001\
++\\150\000\119\000\000\000\
++\\093\000\128\000\117\000\218\001\125\000\217\001\000\000\
++\\061\000\140\000\063\000\220\001\064\000\219\001\093\000\128\000\
++\\125\000\137\000\000\000\
++\\092\000\127\001\105\000\126\001\106\000\125\001\107\000\222\001\000\000\
++\\093\000\131\000\099\000\224\001\100\000\105\001\101\000\104\001\
++\\103\000\223\001\000\000\
++\\013\000\227\001\040\000\226\001\041\000\225\001\093\000\010\000\
++\\094\000\009\000\155\000\191\000\156\000\079\000\157\000\078\000\000\000\
++\\145\000\215\001\146\000\229\001\147\000\102\000\149\000\228\001\
++\\150\000\119\000\000\000\
++\\022\000\204\000\023\000\230\001\024\000\202\000\025\000\201\000\
++\\026\000\200\000\027\000\199\000\085\000\198\000\147\000\102\000\
++\\149\000\197\000\150\000\119\000\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\231\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\046\001\
++\\086\000\045\001\087\000\232\001\093\000\010\000\094\000\009\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\233\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\060\000\234\001\061\000\015\000\062\000\014\000\068\000\144\001\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\000\000\
++\\000\000\
++\\076\000\235\001\077\000\187\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\076\000\235\001\077\000\187\000\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\060\001\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\238\001\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\240\001\138\000\216\000\139\000\215\000\
++\\140\000\239\001\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\050\000\067\001\058\000\174\000\073\000\161\000\093\000\160\000\
++\\094\000\159\000\131\000\066\001\132\000\241\001\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\242\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\014\000\250\001\015\000\022\000\019\000\249\001\059\000\016\000\
++\\093\000\248\001\164\000\001\000\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\103\000\
++\\093\000\010\000\094\000\009\000\151\000\251\001\157\000\002\000\
++\\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\008\000\252\001\
++\\014\000\107\000\015\000\022\000\020\000\084\001\021\000\105\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\070\000\104\000\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\072\000\253\001\076\000\188\000\077\000\187\000\000\000\
++\\000\000\
++\\012\000\254\001\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\255\001\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\112\000\000\002\000\000\
++\\110\000\004\002\112\000\003\002\161\000\002\002\162\000\195\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\006\000\008\002\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\010\002\116\000\146\000\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\011\002\116\000\146\000\000\000\
++\\000\000\
++\\000\000\
++\\160\000\012\002\000\000\
++\\000\000\
++\\000\000\
++\\160\000\015\002\000\000\
++\\093\000\131\000\095\000\016\002\103\000\129\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\019\002\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\093\000\131\000\099\000\020\002\100\000\105\001\101\000\104\001\
++\\103\000\103\001\000\000\
++\\000\000\
++\\098\000\021\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\220\000\094\000\219\000\142\000\024\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\029\002\067\000\028\002\093\000\220\000\
++\\094\000\219\000\142\000\214\000\000\000\
++\\000\000\
++\\093\000\131\000\103\000\031\002\104\000\030\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\141\000\033\002\000\000\
++\\093\000\220\000\094\000\219\000\142\000\035\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\013\000\195\000\016\000\038\002\018\000\037\002\075\000\036\002\
++\\093\000\010\000\094\000\009\000\155\000\191\000\156\000\079\000\
++\\157\000\078\000\000\000\
++\\061\000\222\000\066\000\039\002\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\128\000\108\000\042\002\125\000\126\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\160\000\043\002\000\000\
++\\093\000\131\000\100\000\044\002\101\000\104\001\103\000\103\001\000\000\
++\\093\000\131\000\100\000\045\002\101\000\104\001\103\000\103\001\000\000\
++\\000\000\
++\\030\000\021\000\049\000\192\001\051\000\017\000\061\000\140\000\
++\\063\000\191\001\093\000\190\001\113\000\148\000\114\000\007\000\
++\\115\000\049\002\116\000\146\000\120\000\048\002\121\000\047\002\
++\\123\000\046\002\124\000\184\001\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\159\000\053\002\162\000\052\002\000\000\
++\\147\000\102\000\149\000\055\002\150\000\119\000\000\000\
++\\000\000\
++\\096\000\057\002\097\000\056\002\000\000\
++\\000\000\
++\\061\000\015\000\062\000\014\000\068\000\060\002\069\000\012\000\
++\\070\000\011\000\071\000\059\002\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\062\002\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\093\000\010\000\094\000\009\000\153\000\212\001\154\000\063\002\
++\\155\000\210\001\156\000\079\000\157\000\078\000\000\000\
++\\000\000\
++\\145\000\215\001\146\000\064\002\147\000\102\000\149\000\228\001\
++\\150\000\119\000\000\000\
++\\093\000\131\000\100\000\065\002\101\000\104\001\103\000\103\001\000\000\
++\\061\000\140\000\063\000\067\002\064\000\066\002\093\000\128\000\
++\\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\131\000\103\000\031\002\104\000\069\002\000\000\
++\\013\000\227\001\040\000\226\001\041\000\070\002\093\000\010\000\
++\\094\000\009\000\155\000\191\000\156\000\079\000\157\000\078\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\071\002\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\247\000\
++\\088\000\074\002\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\110\000\076\002\111\000\075\002\112\000\003\002\159\000\053\002\
++\\162\000\052\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\161\000\002\002\162\000\195\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\049\000\192\001\061\000\140\000\063\000\191\001\093\000\190\001\
++\\120\000\080\002\121\000\047\002\123\000\046\002\124\000\184\001\
++\\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\160\000\081\002\000\000\
++\\061\000\222\000\066\000\082\002\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\093\000\131\000\095\000\016\002\103\000\129\000\160\000\083\002\000\000\
++\\000\000\
++\\000\000\
++\\049\000\192\001\053\000\087\002\061\000\140\000\063\000\191\001\
++\\093\000\190\001\120\000\188\001\121\000\086\002\122\000\085\002\
++\\123\000\185\001\124\000\184\001\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\118\000\088\002\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\092\002\067\000\091\002\093\000\220\000\
++\\094\000\219\000\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\093\002\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\013\000\195\000\016\000\038\002\018\000\094\002\075\000\036\002\
++\\093\000\010\000\094\000\009\000\155\000\191\000\156\000\079\000\
++\\157\000\078\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\128\000\108\000\042\002\125\000\126\000\160\000\095\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\159\000\098\002\162\000\097\002\000\000\
++\\000\000\
++\\096\000\057\002\097\000\100\002\000\000\
++\\061\000\015\000\062\000\014\000\068\000\060\002\069\000\012\000\
++\\070\000\011\000\071\000\101\002\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\000\000\
++\\056\000\102\002\000\000\
++\\054\000\105\002\056\000\104\002\161\000\002\002\162\000\195\001\000\000\
++\\000\000\
++\\000\000\
++\\160\000\107\002\000\000\
++\\093\000\128\000\117\000\108\002\125\000\217\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\110\000\076\002\111\000\109\002\112\000\003\002\159\000\098\002\
++\\162\000\097\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\110\002\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\049\000\178\000\052\000\111\002\093\000\176\000\000\000\
++\\000\000\
++\\000\000\
++\\160\000\112\002\000\000\
++\\118\000\114\002\119\000\113\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\054\000\117\002\055\000\116\002\056\000\104\002\159\000\053\002\
++\\162\000\052\002\000\000\
++\\000\000\
++\\000\000\
++\\093\000\128\000\117\000\108\002\125\000\217\001\160\000\119\002\000\000\
++\\000\000\
++\\000\000\
++\\049\000\178\000\052\000\111\002\093\000\176\000\160\000\120\002\000\000\
++\\118\000\114\002\119\000\121\002\000\000\
++\\054\000\117\002\055\000\122\002\056\000\104\002\159\000\098\002\
++\\162\000\097\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 636
++val numrules = 353
++val s = ref "" and index = ref 0
++val string_to_int = fn () => 
++let val i = !index
++in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
++end
++val string_to_list = fn s' =>
++    let val len = String.size s'
++        fun f () =
++           if !index < len then string_to_int() :: f()
++           else nil
++   in index := 0; s := s'; f ()
++   end
++val string_to_pairlist = fn (conv_key,conv_entry) =>
++     let fun f () =
++         case string_to_int()
++         of 0 => EMPTY
++          | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
++     in f
++     end
++val string_to_pairlist_default = fn (conv_key,conv_entry) =>
++    let val conv_row = string_to_pairlist(conv_key,conv_entry)
++    in fn () =>
++       let val default = conv_entry(string_to_int())
++           val row = conv_row()
++       in (row,default)
++       end
++   end
++val string_to_table = fn (convert_row,s') =>
++    let val len = String.size s'
++        fun f ()=
++           if !index < len then convert_row() :: f()
++           else nil
++     in (s := s'; index := 0; f ())
++     end
++local
++  val memo = Array.array(numstates+numrules,ERROR)
++  val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
++       fun f i =
++            if i=numstates then g i
++            else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
++          in f 0 handle Pervasive.General.Subscript => ()
++          end
++in
++val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
++end
++val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
++val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
++val actionRowNumbers = string_to_list actionRowNumbers
++val actionT = let val actionRowLookUp=
++let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
++in Array.fromList(Pervasive.List.map actionRowLookUp actionRowNumbers)
++end
++in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
++numStates=numstates,initialState=STATE 0}
++end
++end
++local open Header in
++type pos = SourcePos.t
++type arg = unit
++structure MlyValue = 
++struct
++datatype svalue = VOID | ntVOID of unit ->  unit | SHOW_BASIS of unit ->  (File.t) | WORD of unit ->  ({ digits:string,radix:StringCvt.radix } ) | TYVAR of unit ->  (string) | STRING of unit ->  (IntInf.t vector) | REAL of unit ->  (string) | LONGSYMID of unit ->  (string) | LONGALPHANUMID of unit ->  (string) | SHORTSYMID of unit ->  (string) | SHORTALPHANUMID of unit ->  (string) | INT of unit ->  ({ digits:string,extended:bool,negate:bool,radix:StringCvt.radix } ) | CHAR of unit ->  (IntInf.t) | word of unit ->  (IntInf.t) | withtypes of unit ->  (TypBind.t) | whereeqns' of unit ->  (WhereEquation.t list) | whereeqns of unit ->  (WhereEquation.t vector) | whereeqn of unit ->  ( ( SourcePos.t -> WhereEquation.t ) ) | whereandeqns of unit ->  (WhereEquation.t list) | vids of unit ->  (Vid.t list) | vidNoEqual of unit ->  (Vid.t) | vidEqual of unit ->  (Vid.t) | vid of unit ->  (Vid.t) | valdescs of unit ->  (valdesc list) | valdesc of unit ->  (valdesc) | valbindTop of unit ->  (vb vector*rvb vector) | valbind of unit ->  (vb list*rvb list) | tyvarseq of unit ->  (Tyvar.t vector) | tyvars of unit ->  (Tyvar.t vector) | tyvar_pc of unit ->  (Tyvar.t list) | tyvar of unit ->  (Tyvar.t) | typdescs of unit ->  (typdesc list) | typdesc of unit ->  (typdesc) | typBind of unit ->  (TypBind.t) | tynode of unit ->  (Type.node) | tycon of unit ->  (Tycon.t) | tyOpt of unit ->  (Type.t option) | ty0_pc of unit ->  (Type.t list) | ty'node of unit ->  (Type.node) | ty' of unit ->  (Type.t) | ty of unit ->  (Type.t) | tuple_ty of unit ->  (Type.t list) | topdecs of unit ->  (Topdec.t list list) | topdecnode of unit ->  (Topdec.node) | topdec of unit ->  (Topdec.t) | tlabels of unit ->  ( ( Field.t * (Region.t * Type.t) )  list) | tlabel of unit ->  ( ( Field.t * (Region.t * Type.t) ) ) | tbs' of unit ->  (tb list) | tbs of unit ->  (tb vector) | tb of unit ->  (tb) | symattributes of unit ->  (PrimKind.SymbolAttribute.t list) | string of unit ->  (string) | strid of unit ->  (Strid.t) | strexpnode of unit ->  (Strexp.node) | strexp2node of unit ->  (Strexp.node) | strexp2 of unit ->  (Strexp.t) | strexp1 of unit ->  (Strexp.t* ( Sigexp.t -> SigConst.t ) *Sigexp.t) | strexp of unit ->  (Strexp.t) | strdescs'' of unit ->  (strdesc whereAndEqns) | strdescs' of unit ->  (strdesc whereAndEqns) | strdescs of unit ->  (strdesc list) | strdecsnode of unit ->  (Strdec.node) | strdecs of unit ->  (Strdec.t) | strdecnode of unit ->  (Strdec.node) | strdec of unit ->  (Strdec.t) | strbinds'2 of unit ->  (strbind list) | strbinds'1' of unit ->  (strbind whereAndEqns) | strbinds'1 of unit ->  (strbind whereAndEqns) | strbinds' of unit ->  (Strexp.t*strbind list) | strbinds of unit ->  (strbind list) | specs of unit ->  (Spec.t) | specnode of unit ->  (Spec.node) | spec of unit ->  (Spec.t) | sigids of unit ->  (Sigid.t list) | sigid of unit ->  (Sigid.t) | sigexpnode of unit ->  (Sigexp.node) | sigexp'node of unit ->  (Sigexp.node) | sigexp' of unit ->  (Sigexp.t) | sigexp of unit ->  (Sigexp.t) | sigconst of unit ->  (SigConst.t) | sigbinds'' of unit ->  (sigbind whereAndEqns) | sigbinds' of unit ->  (sigbind whereAndEqns) | sigbinds of unit ->  (sigbind list) | shortSymId of unit ->  (Symbol.t*Region.t) | shortAlphanumId of unit ->  (Symbol.t*Region.t) | sharespec of unit ->  (SharingEquation.node) | sdecsPlus of unit ->  (Dec.t) | sdecs of unit ->  (Dec.t) | sdec of unit ->  (Dec.t) | rvalbind of unit ->  (rvb list) | rules of unit ->  (rule list) | rule of unit ->  (rule) | repl of unit ->  (DatatypeRhs.node) | program of unit ->  (Program.t) | priority of unit ->  (Priority.t) | pats of unit ->  (Pat.t list) | patitems of unit ->  ( ( (Field.t * Region.t * Pat.Item.t) list * bool ) ) | patitem of unit ->  ( ( Field.t * Region.t * Pat.Item.t ) ) | pat of unit ->  (Pat.t) | optsemicolon of unit ->  (unit) | optbar' of unit ->  (unit) | optbar of unit ->  (unit) | opcon of unit ->  (Con.t) | opaspat of unit ->  (Pat.t option) | numericField of unit ->  (int) | match of unit ->  (Match.t) | longvidands of unit ->  (Longvid.t list) | longvidNoEqual of unit ->  (Longvid.t) | longvidEqual of unit ->  (Longvid.t) | longvid of unit ->  (Longvid.t) | longtyconeqns of unit ->  (Longtycon.t list) | longtycon of unit ->  (Longtycon.t) | longstrids of unit ->  (Longstrid.t list) | longstrideqns of unit ->  (Longstrid.t list) | longstrid of unit ->  (Longstrid.t) | longSymId of unit ->  (Symbol.t list*Region.t) | longAlphanumId of unit ->  (Symbol.t list*Region.t) | longcon of unit ->  (Longcon.t) | int of unit ->  (IntInf.t) | idField of unit ->  (Symbol.t*Region.t) | funs of unit ->  (clauses list) | funbinds'2 of unit ->  (funbind list) | funbinds'1' of unit ->  (funbind whereAndEqns) | funbinds'1 of unit ->  (funbind whereAndEqns) | funbinds' of unit ->  (Strexp.t*funbind list) | funbinds of unit ->  (funbind list) | fixity of unit ->  (Fixity.t) | field of unit ->  (Field.t) | fctid of unit ->  (Fctid.t) | fctarg of unit ->  (FctArg.node) | expsAndTopdecs of unit ->  (Topdec.t list list) | expnode of unit ->  (Exp.node) | exp_ps of unit ->  (Exp.t list) | exp_list of unit ->  (Exp.t list) | exp_2c of unit ->  (Exp.t list) | exp of unit ->  (Exp.t) | exndescs of unit ->  (exndesc list) | exndesc of unit ->  (exndesc) | elabels of unit ->  ( ( Field.t * (Region.t * Exp.t) )  list) | elabel of unit ->  ( ( Field.t * (Region.t * Exp.t) ) ) | ebs of unit ->  (eb list) | ebrhsnode of unit ->  (EbRhs.node) | ebrhs of unit ->  (EbRhs.t) | eb of unit ->  (eb) | digit of unit ->  (int) | decsnode of unit ->  (Dec.node) | decs of unit ->  (Dec.t) | decnolocal of unit ->  (Dec.node) | decnode of unit ->  (Dec.node) | dec of unit ->  (Dec.t) | dbs' of unit ->  (db list) | dbs of unit ->  (db vector) | db of unit ->  (db) | datatypeRhsnode of unit ->  (DatatypeRhs.node) | datatypeRhs of unit ->  (DatatypeRhs.t) | datBind of unit ->  (DatBind.t) | cpatnode of unit ->  (Pat.node) | cpat of unit ->  (Pat.t) | constOrBool of unit ->  (Const.t) | constrs of unit ->  ( ( Con.t * Type.t option )  list) | constraint of unit ->  (Type.t option) | constr of unit ->  (Con.t*Type.t option) | const' of unit ->  (Const.node) | const of unit ->  (Const.t) | con of unit ->  (Con.t) | commapats of unit ->  (Pat.t list) | clausesTop of unit ->  (clauses) | clauses of unit ->  (clause list) | clause of unit ->  (clause) | barcpats of unit ->  (Pat.t list) | ieattributes of unit ->  (PrimKind.ImportExportAttribute.t list) | arg_fct of unit ->  (Strexp.t) | app_exp of unit ->  (Exp.t list) | apats of unit ->  (Pat.t list) | apatnode of unit ->  (Pat.node) | apat of unit ->  (Pat.t) | aexp of unit ->  (Exp.node)
++end
++type svalue = MlyValue.svalue
++type result = Program.t
++end
++structure EC=
++struct
++open LrTable
++infix 5 $$
++fun x $$ y = y::x
++val is_keyword =
++fn (T 10) => true | (T 11) => true | (T 14) => true | (T 17) => true | (T 21) => true | (T 22) => true | (T 23) => true | (T 24) => true | (T 27) => true | (T 28) => true | (T 29) => true | (T 30) => true | (T 31) => true | (T 32) => true | (T 33) => true | (T 34) => true | (T 37) => true | (T 38) => true | (T 39) => true | (T 40) => true | (T 41) => true | (T 44) => true | (T 45) => true | (T 47) => true | (T 49) => true | (T 50) => true | (T 51) => true | (T 52) => true | (T 53) => true | (T 56) => true | (T 59) => true | (T 60) => true | (T 61) => true | (T 62) => true | (T 63) => true | (T 64) => true | (T 65) => true | (T 66) => true | (T 68) => true | (T 67) => true | (T 70) => true | (T 71) => true | (T 48) => true | (T 12) => true | _ => false
++val preferred_change : (term list * term list) list = 
++(nil
++,nil
++ $$ (T 66))::
++(nil
++,nil
++ $$ (T 64))::
++(nil
++,nil
++ $$ (T 23))::
++(nil
++,nil
++ $$ (T 46))::
++(nil
++,nil
++ $$ (T 58))::
++(nil
++ $$ (T 30),nil
++ $$ (T 26))::
++(nil
++ $$ (T 26),nil
++ $$ (T 30))::
++(nil
++ $$ (T 11),nil
++ $$ (T 12))::
++(nil
++ $$ (T 18),nil
++ $$ (T 49))::
++(nil
++ $$ (T 58),nil
++ $$ (T 20))::
++(nil
++ $$ (T 20),nil
++ $$ (T 58))::
++(nil
++,nil
++ $$ (T 24) $$ (T 2) $$ (T 38))::
++(nil
++,nil
++ $$ (T 2) $$ (T 23))::
++nil
++val noShift = 
++fn (T 25) => true | _ => false
++val showTerminal =
++fn (T 0) => "CHAR"
++  | (T 1) => "INT"
++  | (T 2) => "SHORTALPHANUMID"
++  | (T 3) => "SHORTSYMID"
++  | (T 4) => "LONGALPHANUMID"
++  | (T 5) => "LONGSYMID"
++  | (T 6) => "REAL"
++  | (T 7) => "STRING"
++  | (T 8) => "TYVAR"
++  | (T 9) => "WORD"
++  | (T 10) => "ABSTYPE"
++  | (T 11) => "AND"
++  | (T 12) => "ANDALSO"
++  | (T 13) => "ARROW"
++  | (T 14) => "AS"
++  | (T 15) => "ASTERISK"
++  | (T 16) => "BAR"
++  | (T 17) => "CASE"
++  | (T 18) => "COLON"
++  | (T 19) => "COLONGT"
++  | (T 20) => "COMMA"
++  | (T 21) => "DATATYPE"
++  | (T 22) => "DOTDOTDOT"
++  | (T 23) => "ELSE"
++  | (T 24) => "END"
++  | (T 25) => "EOF"
++  | (T 26) => "EQUALOP"
++  | (T 27) => "EQTYPE"
++  | (T 28) => "EXCEPTION"
++  | (T 29) => "DO"
++  | (T 30) => "DARROW"
++  | (T 31) => "FN"
++  | (T 32) => "FUN"
++  | (T 33) => "FUNCTOR"
++  | (T 34) => "HANDLE"
++  | (T 35) => "HASH"
++  | (T 36) => "HASHLBRACKET"
++  | (T 37) => "IF"
++  | (T 38) => "IN"
++  | (T 39) => "INCLUDE"
++  | (T 40) => "INFIX"
++  | (T 41) => "INFIXR"
++  | (T 42) => "LBRACE"
++  | (T 43) => "LBRACKET"
++  | (T 44) => "LET"
++  | (T 45) => "LOCAL"
++  | (T 46) => "LPAREN"
++  | (T 47) => "NONFIX"
++  | (T 48) => "ORELSE"
++  | (T 49) => "OF"
++  | (T 50) => "OP"
++  | (T 51) => "OPEN"
++  | (T 52) => "OVERLOAD"
++  | (T 53) => "RAISE"
++  | (T 54) => "RBRACE"
++  | (T 55) => "RBRACKET"
++  | (T 56) => "REC"
++  | (T 57) => "RPAREN"
++  | (T 58) => "SEMICOLON"
++  | (T 59) => "SHARING"
++  | (T 60) => "SIG"
++  | (T 61) => "SIGNATURE"
++  | (T 62) => "STRUCT"
++  | (T 63) => "STRUCTURE"
++  | (T 64) => "THEN"
++  | (T 65) => "TYPE"
++  | (T 66) => "VAL"
++  | (T 67) => "WHERE"
++  | (T 68) => "WHILE"
++  | (T 69) => "WILD"
++  | (T 70) => "WITH"
++  | (T 71) => "WITHTYPE"
++  | (T 72) => "BUILD_CONST"
++  | (T 73) => "COMMAND_LINE_CONST"
++  | (T 74) => "CONST"
++  | (T 75) => "ADDRESS"
++  | (T 76) => "EXPORT"
++  | (T 77) => "IMPORT"
++  | (T 78) => "SYMBOL"
++  | (T 79) => "PRIM"
++  | (T 80) => "SHOW_BASIS"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn (T 0) => MlyValue.CHAR(fn () => (IntInf.fromInt (Char.ord #"a"))) | 
++(T 1) => MlyValue.INT(fn () => ({digits = "0", extended = false, negate = false, radix = StringCvt.DEC})) | 
++(T 2) => MlyValue.SHORTALPHANUMID(fn () => ("bogus")) | 
++(T 6) => MlyValue.REAL(fn () => ("13.0")) | 
++(T 7) => MlyValue.STRING(fn () => (Vector.fromList [])) | 
++(T 8) => MlyValue.TYVAR(fn () => ("'a")) | 
++(T 9) => MlyValue.WORD(fn () => ({digits = "0", radix = StringCvt.DEC})) | 
++_ => MlyValue.VOID
++end
++val terms : term list = nil
++ $$ (T 79) $$ (T 78) $$ (T 77) $$ (T 76) $$ (T 75) $$ (T 74) $$ (T 73) $$ (T 72) $$ (T 71) $$ (T 70) $$ (T 69) $$ (T 68) $$ (T 67) $$ (T 66) $$ (T 65) $$ (T 64) $$ (T 63) $$ (T 62) $$ (T 61) $$ (T 60) $$ (T 59) $$ (T 58) $$ (T 57) $$ (T 56) $$ (T 55) $$ (T 54) $$ (T 53) $$ (T 52) $$ (T 51) $$ (T 50) $$ (T 49) $$ (T 48) $$ (T 47) $$ (T 46) $$ (T 45) $$ (T 44) $$ (T 43) $$ (T 42) $$ (T 41) $$ (T 40) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ (T 35) $$ (T 34) $$ (T 33) $$ (T 32) $$ (T 31) $$ (T 30) $$ (T 29) $$ (T 28) $$ (T 27) $$ (T 26) $$ (T 25) $$ (T 24) $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20) $$ (T 19) $$ (T 18) $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 14) $$ (T 13) $$ (T 12) $$ (T 11) $$ (T 10)end
++structure Actions =
++struct 
++exception mlyAction of int
++local open Header in
++val actions = 
++fn (i392,defaultPos,stack,
++    (()):arg) =>
++case (i392,stack)
++of  ( 0, ( ( _, ( MlyValue.expsAndTopdecs expsAndTopdecs1, expsAndTopdecs1left, expsAndTopdecs1right)) :: rest671)) => let val  result = MlyValue.program (fn _ => let val  (expsAndTopdecs as expsAndTopdecs1) = expsAndTopdecs1 ()
++ in ((*#line 477.26 "ml.grm"*)Program.T expsAndTopdecs(*#line 2289.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 83, ( result, expsAndTopdecs1left, expsAndTopdecs1right), rest671)
++end
++|  ( 1, ( ( _, ( MlyValue.expsAndTopdecs expsAndTopdecs1, _, expsAndTopdecs1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expsAndTopdecs (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (expsAndTopdecs as expsAndTopdecs1) = expsAndTopdecs1 ()
++ in ((*#line 480.35 "ml.grm"*)[Topdec.fromExp exp] :: expsAndTopdecs(*#line 2295.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 46, ( result, exp1left, expsAndTopdecs1right), rest671)
++end
++|  ( 2, ( ( _, ( MlyValue.topdecs topdecs1, topdecs1left, topdecs1right)) :: rest671)) => let val  result = MlyValue.expsAndTopdecs (fn _ => let val  (topdecs as topdecs1) = topdecs1 ()
++ in ((*#line 481.14 "ml.grm"*)topdecs(*#line 2302.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 46, ( result, topdecs1left, topdecs1right), rest671)
++end
++|  ( 3, ( rest671)) => let val  result = MlyValue.topdecs (fn _ => ((*#line 484.8 "ml.grm"*)[](*#line 2308.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 134, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 4, ( ( _, ( MlyValue.topdecs topdecs1, _, topdecs1right)) :: ( _, ( MlyValue.topdec topdec1, topdec1left, _)) :: rest671)) => let val  result = MlyValue.topdecs (fn _ => let val  (topdec as topdec1) = topdec1 ()
++ val  (topdecs as topdecs1) = topdecs1 ()
++ in ((*#line 485.21 "ml.grm"*)consTopdec (topdec, topdecs)(*#line 2312.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 134, ( result, topdec1left, topdecs1right), rest671)
++end
++|  ( 5, ( ( _, ( MlyValue.expsAndTopdecs expsAndTopdecs1, _, expsAndTopdecs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.topdecs (fn _ => let val  (expsAndTopdecs as expsAndTopdecs1) = expsAndTopdecs1 ()
++ in ((*#line 486.31 "ml.grm"*)[] :: expsAndTopdecs(*#line 2319.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 134, ( result, SEMICOLON1left, expsAndTopdecs1right), rest671)
++end
++|  ( 6, ( ( _, ( MlyValue.topdecnode topdecnode1, (topdecnodeleft as topdecnode1left), (topdecnoderight as topdecnode1right))) :: rest671)) => let val  result = MlyValue.topdec (fn _ => let val  (topdecnode as topdecnode1) = topdecnode1 ()
++ in ((*#line 488.22 "ml.grm"*)Topdec.makeRegion' (topdecnode,
++                                         topdecnodeleft,
++                                         topdecnoderight)(*#line 2325.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 132, ( result, topdecnode1left, topdecnode1right), rest671)
++end
++|  ( 7, ( ( _, ( MlyValue.strdec strdec1, strdec1left, strdec1right)) :: rest671)) => let val  result = MlyValue.topdecnode (fn _ => let val  (strdec as strdec1) = strdec1 ()
++ in ((*#line 494.7 "ml.grm"*)Topdec.Strdec strdec(*#line 2333.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 133, ( result, strdec1left, strdec1right), rest671)
++end
++|  ( 8, ( ( _, ( MlyValue.sigbinds sigbinds1, _, sigbinds1right)) :: ( _, ( _, SIGNATURE1left, _)) :: rest671)) => let val  result = MlyValue.topdecnode (fn _ => let val  (sigbinds as sigbinds1) = sigbinds1 ()
++ in ((*#line 496.7 "ml.grm"*)let
++         val sigbinds = Vector.fromList sigbinds
++         val d = Topdec.Signature sigbinds
++      in
++         d
++      end(*#line 2339.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 133, ( result, SIGNATURE1left, sigbinds1right), rest671)
++end
++|  ( 9, ( ( _, ( MlyValue.funbinds funbinds1, _, funbinds1right)) :: ( _, ( _, FUNCTOR1left, _)) :: rest671)) => let val  result = MlyValue.topdecnode (fn _ => let val  (funbinds as funbinds1) = funbinds1 ()
++ in ((*#line 503.7 "ml.grm"*)Topdec.Functor (Vector.fromList funbinds)(*#line 2350.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 133, ( result, FUNCTOR1left, funbinds1right), rest671)
++end
++|  ( 10, ( ( _, ( MlyValue.strdecsnode strdecsnode1, (strdecsnodeleft as strdecsnode1left), (strdecsnoderight as strdecsnode1right))) :: rest671)) => let val  result = MlyValue.strdecs (fn _ => let val  (strdecsnode as strdecsnode1) = strdecsnode1 ()
++ in ((*#line 509.24 "ml.grm"*)Strdec.makeRegion'
++                       (strdecsnode, strdecsnodeleft, strdecsnoderight)(*#line 2356.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 114, ( result, strdecsnode1left, strdecsnode1right), rest671)
++end
++|  ( 11, ( rest671)) => let val  result = MlyValue.strdecsnode (fn _ => ((*#line 512.35 "ml.grm"*)Strdec.Seq [](*#line 2363.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 115, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 12, ( ( _, ( MlyValue.strdecs strdecs1, _, strdecs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.strdecsnode (fn _ => let val  (strdecs as strdecs1) = strdecs1 ()
++ in ((*#line 513.35 "ml.grm"*)Strdec.Seq [strdecs](*#line 2367.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 115, ( result, SEMICOLON1left, strdecs1right), rest671)
++end
++|  ( 13, ( ( _, ( MlyValue.strdecs strdecs1, _, strdecs1right)) :: ( _, ( MlyValue.strdec strdec1, strdec1left, _)) :: rest671)) => let val  result = MlyValue.strdecsnode (fn _ => let val  (strdec as strdec1) = strdec1 ()
++ val  (strdecs as strdecs1) = strdecs1 ()
++ in ((*#line 514.35 "ml.grm"*)Strdec.Seq [strdec, strdecs](*#line 2373.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 115, ( result, strdec1left, strdecs1right), rest671)
++end
++|  ( 14, ( ( _, ( MlyValue.strdecnode strdecnode1, (strdecnodeleft as strdecnode1left), (strdecnoderight as strdecnode1right))) :: rest671)) => let val  result = MlyValue.strdec (fn _ => let val  (strdecnode as strdecnode1) = strdecnode1 ()
++ in ((*#line 516.22 "ml.grm"*)Strdec.makeRegion' (strdecnode,
++                                         strdecnodeleft, strdecnoderight)(*#line 2380.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 112, ( result, strdecnode1left, strdecnode1right), rest671)
++end
++|  ( 15, ( ( _, ( MlyValue.strbinds strbinds1, _, strbinds1right)) :: ( _, ( _, STRUCTURE1left, _)) :: rest671)) => let val  result = MlyValue.strdecnode (fn _ => let val  (strbinds as strbinds1) = strbinds1 ()
++ in ((*#line 521.7 "ml.grm"*)let
++         val strbinds = Vector.fromList strbinds
++         val d = Strdec.Structure strbinds
++      in
++         d
++      end(*#line 2387.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 113, ( result, STRUCTURE1left, strbinds1right), rest671)
++end
++|  ( 16, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.strdecs strdecs2, _, _)) :: _ :: ( _, ( MlyValue.strdecs strdecs1, _, _)) :: ( _, ( _, LOCAL1left, _)) :: rest671)) => let val  result = MlyValue.strdecnode (fn _ => let val  strdecs1 = strdecs1 ()
++ val  strdecs2 = strdecs2 ()
++ in ((*#line 527.37 "ml.grm"*)Strdec.Local (strdecs1, strdecs2)(*#line 2398.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 113, ( result, LOCAL1left, END1right), rest671)
++end
++|  ( 17, ( ( _, ( MlyValue.decnolocal decnolocal1, (decnolocalleft as decnolocal1left), (decnolocalright as decnolocal1right))) :: rest671)) => let val  result = MlyValue.strdecnode (fn _ => let val  (decnolocal as decnolocal1) = decnolocal1 ()
++ in ((*#line 529.7 "ml.grm"*)Strdec.Core (Dec.makeRegion' (decnolocal,
++                                    decnolocalleft, decnolocalright))(*#line 2405.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 113, ( result, decnolocal1left, decnolocal1right), rest671)
++end
++|  ( 18, ( ( _, ( MlyValue.SHOW_BASIS SHOW_BASIS1, SHOW_BASIS1left, SHOW_BASIS1right)) :: rest671)) => let val  result = MlyValue.strdecnode (fn _ => let val  (SHOW_BASIS as SHOW_BASIS1) = SHOW_BASIS1 ()
++ in ((*#line 531.37 "ml.grm"*)Strdec.ShowBasis SHOW_BASIS(*#line 2412.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 113, ( result, SHOW_BASIS1left, SHOW_BASIS1right), rest671)
++end
++|  ( 19, ( ( _, ( MlyValue.strbinds' strbinds'1, _, strbinds'1right)) :: _ :: ( _, ( MlyValue.sigconst sigconst1, _, _)) :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strbinds (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (sigconst as sigconst1) = sigconst1 ()
++ val  (strbinds' as strbinds'1) = strbinds'1 ()
++ in ((*#line 535.13 "ml.grm"*)let val (def,strbinds) = strbinds'
++            in {name = strid, def = def, constraint = sigconst}
++               :: strbinds
++            end(*#line 2418.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 107, ( result, strid1left, strbinds'1right), rest671)
++end
++|  ( 20, ( ( _, ( MlyValue.strbinds'1 strbinds'11, _, strbinds'11right)) :: ( _, ( MlyValue.strexp1 strexp11, strexp11left, _)) :: rest671)) => let val  result = MlyValue.strbinds' (fn _ => let val  (strexp1 as strexp11) = strexp11 ()
++ val  (strbinds'1 as strbinds'11) = strbinds'11 ()
++ in ((*#line 540.36 "ml.grm"*)augment1 (strexp1, strbinds'1)(*#line 2429.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 108, ( result, strexp11left, strbinds'11right), rest671)
++end
++|  ( 21, ( ( _, ( MlyValue.strbinds'2 strbinds'21, _, strbinds'21right)) :: ( _, ( MlyValue.strexp2 strexp21, strexp21left, _)) :: rest671)) => let val  result = MlyValue.strbinds' (fn _ => let val  (strexp2 as strexp21) = strexp21 ()
++ val  (strbinds'2 as strbinds'21) = strbinds'21 ()
++ in ((*#line 541.36 "ml.grm"*)(strexp2,strbinds'2)(*#line 2436.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 108, ( result, strexp21left, strbinds'21right), rest671)
++end
++|  ( 22, ( ( _, ( MlyValue.strbinds'2 strbinds'21, strbinds'21left, strbinds'21right)) :: rest671)) => let val  result = MlyValue.strbinds'1 (fn _ => let val  (strbinds'2 as strbinds'21) = strbinds'21 ()
++ in ((*#line 543.43 "ml.grm"*)([], strbinds'2)(*#line 2443.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 109, ( result, strbinds'21left, strbinds'21right), rest671)
++end
++|  ( 23, ( ( _, ( MlyValue.strbinds'1' strbinds'1'1, _, strbinds'1'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.strbinds'1 (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (strbinds'1' as strbinds'1'1) = strbinds'1'1 ()
++ in ((*#line 544.43 "ml.grm"*)cons1 (whereeqn WHEREleft, strbinds'1')(*#line 2449.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 109, ( result, WHERE1left, strbinds'1'1right), rest671)
++end
++|  ( 24, ( ( _, ( MlyValue.strbinds'1 strbinds'11, strbinds'11left, strbinds'11right)) :: rest671)) => let val  result = MlyValue.strbinds'1' (fn _ => let val  (strbinds'1 as strbinds'11) = strbinds'11 ()
++ in ((*#line 546.42 "ml.grm"*)strbinds'1(*#line 2456.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 110, ( result, strbinds'11left, strbinds'11right), rest671)
++end
++|  ( 25, ( ( _, ( MlyValue.strbinds'1' strbinds'1'1, _, strbinds'1'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.strbinds'1' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (strbinds'1' as strbinds'1'1) = strbinds'1'1 ()
++ in ((*#line 547.42 "ml.grm"*)cons1 (whereeqn ANDleft, strbinds'1')(*#line 2462.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 110, ( result, AND1left, strbinds'1'1right), rest671)
++end
++|  ( 26, ( rest671)) => let val  result = MlyValue.strbinds'2 (fn _ => ((*#line 549.29 "ml.grm"*)[](*#line 2469.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 111, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 27, ( ( _, ( MlyValue.strbinds strbinds1, _, strbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.strbinds'2 (fn _ => let val  (strbinds as strbinds1) = strbinds1 ()
++ in ((*#line 550.29 "ml.grm"*)strbinds(*#line 2473.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 111, ( result, AND1left, strbinds1right), rest671)
++end
++|  ( 28, ( ( _, ( MlyValue.strexpnode strexpnode1, (strexpnodeleft as strexpnode1left), (strexpnoderight as strexpnode1right))) :: rest671)) => let val  result = MlyValue.strexp (fn _ => let val  (strexpnode as strexpnode1) = strexpnode1 ()
++ in ((*#line 552.22 "ml.grm"*)Strexp.makeRegion' (strexpnode,
++                                         strexpnodeleft, strexpnoderight)(*#line 2479.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 119, ( result, strexpnode1left, strexpnode1right), rest671)
++end
++|  ( 29, ( ( _, ( MlyValue.strexp1 strexp11, strexp11left, strexp11right)) :: rest671)) => let val  result = MlyValue.strexpnode (fn _ => let val  (strexp1 as strexp11) = strexp11 ()
++ in ((*#line 557.6 "ml.grm"*)let
++        val (strexp, sigconst, sigexp) = strexp1
++     in
++        Strexp.Constrained (strexp, sigconst sigexp)
++     end(*#line 2486.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 123, ( result, strexp11left, strexp11right), rest671)
++end
++|  ( 30, ( ( _, ( MlyValue.whereeqns whereeqns1, _, whereeqns1right)) :: ( _, ( MlyValue.strexp1 strexp11, strexp11left, _)) :: rest671)) => let val  result = MlyValue.strexpnode (fn _ => let val  (strexp1 as strexp11) = strexp11 ()
++ val  (whereeqns as whereeqns1) = whereeqns1 ()
++ in ((*#line 563.6 "ml.grm"*)let
++        val (strexp,sigconst,sigexp) = strexp1
++        val sigexp = Sigexp.wheree (sigexp, whereeqns)
++     in
++        Strexp.Constrained
++        (strexp, sigconst sigexp)
++     end(*#line 2496.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 123, ( result, strexp11left, whereeqns1right), rest671)
++end
++|  ( 31, ( ( _, ( MlyValue.strexp2node strexp2node1, strexp2node1left, strexp2node1right)) :: rest671)) => let val  result = MlyValue.strexpnode (fn _ => let val  (strexp2node as strexp2node1) = strexp2node1 ()
++ in ((*#line 571.6 "ml.grm"*)strexp2node(*#line 2509.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 123, ( result, strexp2node1left, strexp2node1right), rest671)
++end
++|  ( 32, ( ( _, ( MlyValue.sigexp' sigexp'1, _, sigexp'1right)) :: _ :: ( _, ( MlyValue.strexp strexp1, strexp1left, _)) :: rest671)) => let val  result = MlyValue.strexp1 (fn _ => let val  (strexp as strexp1) = strexp1 ()
++ val  (sigexp' as sigexp'1) = sigexp'1 ()
++ in ((*#line 573.36 "ml.grm"*)(strexp,SigConst.Transparent,sigexp')(*#line 2515.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 120, ( result, strexp1left, sigexp'1right), rest671)
++end
++|  ( 33, ( ( _, ( MlyValue.sigexp' sigexp'1, _, sigexp'1right)) :: _ :: ( _, ( MlyValue.strexp strexp1, strexp1left, _)) :: rest671)) => let val  result = MlyValue.strexp1 (fn _ => let val  (strexp as strexp1) = strexp1 ()
++ val  (sigexp' as sigexp'1) = sigexp'1 ()
++ in ((*#line 574.36 "ml.grm"*)(strexp,SigConst.Opaque,sigexp')(*#line 2522.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 120, ( result, strexp1left, sigexp'1right), rest671)
++end
++|  ( 34, ( ( _, ( MlyValue.strexp2node strexp2node1, (strexp2nodeleft as strexp2node1left), (strexp2noderight as strexp2node1right))) :: rest671)) => let val  result = MlyValue.strexp2 (fn _ => let val  (strexp2node as strexp2node1) = strexp2node1 ()
++ in ((*#line 576.24 "ml.grm"*)Strexp.makeRegion'
++                       (strexp2node, strexp2nodeleft, strexp2noderight)(*#line 2529.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 121, ( result, strexp2node1left, strexp2node1right), rest671)
++end
++|  ( 35, ( ( _, ( MlyValue.longstrid longstrid1, longstrid1left, longstrid1right)) :: rest671)) => let val  result = MlyValue.strexp2node (fn _ => let val  (longstrid as longstrid1) = longstrid1 ()
++ in ((*#line 580.39 "ml.grm"*)Strexp.Var longstrid(*#line 2536.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 122, ( result, longstrid1left, longstrid1right), rest671)
++end
++|  ( 36, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.strdecs strdecs1, _, _)) :: ( _, ( _, STRUCT1left, _)) :: rest671)) => let val  result = MlyValue.strexp2node (fn _ => let val  (strdecs as strdecs1) = strdecs1 ()
++ in ((*#line 581.39 "ml.grm"*)Strexp.Struct strdecs(*#line 2542.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 122, ( result, STRUCT1left, END1right), rest671)
++end
++|  ( 37, ( ( _, ( MlyValue.arg_fct arg_fct1, _, arg_fct1right)) :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.strexp2node (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (arg_fct as arg_fct1) = arg_fct1 ()
++ in ((*#line 582.39 "ml.grm"*)Strexp.App (fctid, arg_fct)(*#line 2548.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 122, ( result, fctid1left, arg_fct1right), rest671)
++end
++|  ( 38, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.strexp strexp1, _, _)) :: _ :: ( _, ( MlyValue.strdecs strdecs1, _, _)) :: ( _, ( _, LET1left, _)) :: rest671)) => let val  result = MlyValue.strexp2node (fn _ => let val  (strdecs as strdecs1) = strdecs1 ()
++ val  (strexp as strexp1) = strexp1 ()
++ in ((*#line 583.39 "ml.grm"*)Strexp.Let (strdecs, strexp)(*#line 2555.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 122, ( result, LET1left, END1right), rest671)
++end
++|  ( 39, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, ( MlyValue.strexp strexp1, _, _)) :: ( _, ( _, (LPARENleft as LPAREN1left), _)) :: rest671)) => let val  result = MlyValue.arg_fct (fn _ => let val  (strexp as strexp1) = strexp1 ()
++ in ((*#line 585.35 "ml.grm"*)Strexp.makeRegion'
++                                  (Strexp.node strexp,
++                                   LPARENleft, RPARENright)(*#line 2562.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 5, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 40, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, ( MlyValue.strdecs strdecs1, _, _)) :: ( _, ( _, (LPARENleft as LPAREN1left), _)) :: rest671)) => let val  result = MlyValue.arg_fct (fn _ => let val  (strdecs as strdecs1) = strdecs1 ()
++ in ((*#line 588.35 "ml.grm"*)Strexp.makeRegion'
++                                  (Strexp.Struct strdecs,
++                                   LPARENleft, RPARENright)(*#line 2570.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 5, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 41, ( ( _, ( MlyValue.sigexp' sigexp'1, sigexp'1left, sigexp'1right)) :: rest671)) => let val  result = MlyValue.sigexp (fn _ => let val  (sigexp' as sigexp'1) = sigexp'1 ()
++ in ((*#line 597.25 "ml.grm"*)sigexp'(*#line 2578.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 98, ( result, sigexp'1left, sigexp'1right), rest671)
++end
++|  ( 42, ( ( _, ( MlyValue.whereeqns whereeqns1, _, whereeqns1right)) :: ( _, ( MlyValue.sigexp' sigexp'1, sigexp'1left, _)) :: rest671)) => let val  result = MlyValue.sigexp (fn _ => let val  (sigexp' as sigexp'1) = sigexp'1 ()
++ val  (whereeqns as whereeqns1) = whereeqns1 ()
++ in ((*#line 598.25 "ml.grm"*)Sigexp.wheree (sigexp', whereeqns)(*#line 2584.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 98, ( result, sigexp'1left, whereeqns1right), rest671)
++end
++|  ( 43, ( ( _, ( MlyValue.whereeqns' whereeqns'1, whereeqns'1left, whereeqns'1right)) :: rest671)) => let val  result = MlyValue.whereeqns (fn _ => let val  (whereeqns' as whereeqns'1) = whereeqns'1 ()
++ in ((*#line 600.25 "ml.grm"*)Vector.fromList whereeqns'(*#line 2591.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 160, ( result, whereeqns'1left, whereeqns'1right), rest671)
++end
++|  ( 44, ( ( _, ( MlyValue.whereeqn whereeqn1, _, whereeqn1right)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.whereeqns' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ in ((*#line 603.35 "ml.grm"*)[whereeqn WHEREleft](*#line 2597.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 161, ( result, WHERE1left, whereeqn1right), rest671)
++end
++|  ( 45, ( ( _, ( MlyValue.whereeqns' whereeqns'1, _, whereeqns'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.whereeqns' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (whereeqns' as whereeqns'1) = whereeqns'1 ()
++ in ((*#line 604.35 "ml.grm"*)whereeqn WHEREleft :: whereeqns'(*#line 2603.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 161, ( result, WHERE1left, whereeqns'1right), rest671)
++end
++|  ( 46, ( ( _, ( MlyValue.whereandeqns whereandeqns1, _, whereandeqns1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.whereeqns' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (whereandeqns as whereandeqns1) = whereandeqns1 ()
++ in ((*#line 605.35 "ml.grm"*)whereeqn WHEREleft :: whereandeqns(*#line 2610.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 161, ( result, WHERE1left, whereandeqns1right), rest671)
++end
++|  ( 47, ( ( _, ( MlyValue.whereeqn whereeqn1, _, whereeqn1right)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.whereandeqns (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ in ((*#line 608.33 "ml.grm"*)[whereeqn ANDleft](*#line 2617.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 158, ( result, AND1left, whereeqn1right), rest671)
++end
++|  ( 48, ( ( _, ( MlyValue.whereandeqns whereandeqns1, _, whereandeqns1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.whereandeqns (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (whereandeqns as whereandeqns1) = whereandeqns1 ()
++ in ((*#line 609.33 "ml.grm"*)whereeqn ANDleft :: whereandeqns(*#line 2623.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 158, ( result, AND1left, whereandeqns1right), rest671)
++end
++|  ( 49, ( ( _, ( MlyValue.whereeqns' whereeqns'1, _, whereeqns'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.whereandeqns (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (whereeqns' as whereeqns'1) = whereeqns'1 ()
++ in ((*#line 610.33 "ml.grm"*)whereeqn ANDleft :: whereeqns'(*#line 2630.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 158, ( result, AND1left, whereeqns'1right), rest671)
++end
++|  ( 50, ( ( _, ( MlyValue.sigbinds' sigbinds'1, _, sigbinds'1right)) :: ( _, ( MlyValue.sigexp' sigexp'1, _, _)) :: _ :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigexp' as sigexp'1) = sigexp'1 ()
++ val  (sigbinds' as sigbinds'1) = sigbinds'1 ()
++ in ((*#line 612.45 "ml.grm"*)augment (sigid, sigexp', sigbinds')(*#line 2637.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 94, ( result, sigid1left, sigbinds'1right), rest671)
++end
++|  ( 51, ( ( _, ( MlyValue.sigexp'node sigexp'node1, (sigexp'nodeleft as sigexp'node1left), (sigexp'noderight as sigexp'node1right))) :: rest671)) => let val  result = MlyValue.sigexp' (fn _ => let val  (sigexp'node as sigexp'node1) = sigexp'node1 ()
++ in ((*#line 614.24 "ml.grm"*)Sigexp.makeRegion' (sigexp'node,
++                                           sigexp'nodeleft,
++                                           sigexp'noderight)(*#line 2645.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 99, ( result, sigexp'node1left, sigexp'node1right), rest671)
++end
++|  ( 52, ( ( _, ( MlyValue.sigid sigid1, sigid1left, sigid1right)) :: rest671)) => let val  result = MlyValue.sigexp'node (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ in ((*#line 618.43 "ml.grm"*)Sigexp.Var sigid(*#line 2653.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 100, ( result, sigid1left, sigid1right), rest671)
++end
++|  ( 53, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.specs specs1, _, _)) :: ( _, ( _, SIG1left, _)) :: rest671)) => let val  result = MlyValue.sigexp'node (fn _ => let val  (specs as specs1) = specs1 ()
++ in ((*#line 619.43 "ml.grm"*)Sigexp.Spec specs(*#line 2659.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 100, ( result, SIG1left, END1right), rest671)
++end
++|  ( 54, ( rest671)) => let val  result = MlyValue.sigbinds' (fn _ => ((*#line 621.40 "ml.grm"*)([], [])(*#line 2665.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 95, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 55, ( ( _, ( MlyValue.sigbinds sigbinds1, _, sigbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds' (fn _ => let val  (sigbinds as sigbinds1) = sigbinds1 ()
++ in ((*#line 622.40 "ml.grm"*)([], sigbinds)(*#line 2669.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 95, ( result, AND1left, sigbinds1right), rest671)
++end
++|  ( 56, ( ( _, ( MlyValue.sigbinds'' sigbinds''1, _, sigbinds''1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.sigbinds' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (sigbinds'' as sigbinds''1) = sigbinds''1 ()
++ in ((*#line 623.40 "ml.grm"*)cons1 (whereeqn WHEREleft, sigbinds'')(*#line 2675.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 95, ( result, WHERE1left, sigbinds''1right), rest671)
++end
++|  ( 57, ( ( _, ( MlyValue.sigbinds' sigbinds'1, sigbinds'1left, sigbinds'1right)) :: rest671)) => let val  result = MlyValue.sigbinds'' (fn _ => let val  (sigbinds' as sigbinds'1) = sigbinds'1 ()
++ in ((*#line 625.40 "ml.grm"*)sigbinds'(*#line 2682.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 96, ( result, sigbinds'1left, sigbinds'1right), rest671)
++end
++|  ( 58, ( ( _, ( MlyValue.sigbinds'' sigbinds''1, _, sigbinds''1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.sigbinds'' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (sigbinds'' as sigbinds''1) = sigbinds''1 ()
++ in ((*#line 626.40 "ml.grm"*)cons1 (whereeqn ANDleft, sigbinds'')(*#line 2688.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 96, ( result, AND1left, sigbinds''1right), rest671)
++end
++|  ( 59, ( ( _, ( MlyValue.ty ty1, _, (tyright as ty1right))) :: _ :: ( _, ( MlyValue.longtycon longtycon1, _, _)) :: ( _, ( MlyValue.tyvars tyvars1, _, _)) :: ( _, ( _, TYPE1left, _)) :: rest671)) => let val  result = MlyValue.whereeqn (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (longtycon as longtycon1) = longtycon1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 628.48 "ml.grm"*)fn eqnleft =>
++                                               WhereEquation.makeRegion'
++                                               (WhereEquation.Type {tyvars = tyvars,
++                                                                    longtycon = longtycon,
++                                                                    ty = ty},
++                                                eqnleft,
++                                                tyright)(*#line 2695.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 159, ( result, TYPE1left, ty1right), rest671)
++end
++|  ( 60, ( rest671)) => let val  result = MlyValue.sigconst (fn _ => ((*#line 636.29 "ml.grm"*)SigConst.None(*#line 2709.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 97, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 61, ( ( _, ( MlyValue.sigexp sigexp1, _, sigexp1right)) :: ( _, ( _, COLON1left, _)) :: rest671)) => let val  result = MlyValue.sigconst (fn _ => let val  (sigexp as sigexp1) = sigexp1 ()
++ in ((*#line 637.29 "ml.grm"*)SigConst.Transparent sigexp(*#line 2713.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 97, ( result, COLON1left, sigexp1right), rest671)
++end
++|  ( 62, ( ( _, ( MlyValue.sigexp sigexp1, _, sigexp1right)) :: ( _, ( _, COLONGT1left, _)) :: rest671)) => let val  result = MlyValue.sigconst (fn _ => let val  (sigexp as sigexp1) = sigexp1 ()
++ in ((*#line 638.29 "ml.grm"*)SigConst.Opaque sigexp(*#line 2719.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 97, ( result, COLONGT1left, sigexp1right), rest671)
++end
++|  ( 63, ( rest671)) => let val  result = MlyValue.specs (fn _ => ((*#line 640.29 "ml.grm"*)Spec.makeRegion (Spec.Empty, Region.bogus)(*#line 2725.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 106, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 64, ( ( _, ( MlyValue.specs specs1, _, specs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.specs (fn _ => let val  (specs as specs1) = specs1 ()
++ in ((*#line 641.29 "ml.grm"*)specs(*#line 2729.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 106, ( result, SEMICOLON1left, specs1right), rest671)
++end
++|  ( 65, ( ( _, ( MlyValue.specs specs1, _, specs1right)) :: ( _, ( MlyValue.spec spec1, spec1left, _)) :: rest671)) => let val  result = MlyValue.specs (fn _ => let val  (spec as spec1) = spec1 ()
++ val  (specs as specs1) = specs1 ()
++ in ((*#line 642.29 "ml.grm"*)Spec.seq (spec, specs)(*#line 2735.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 106, ( result, spec1left, specs1right), rest671)
++end
++|  ( 66, ( ( _, ( MlyValue.specnode specnode1, (specnodeleft as specnode1left), (specnoderight as specnode1right))) :: rest671)) => let val  result = MlyValue.spec (fn _ => let val  (specnode as specnode1) = specnode1 ()
++ in ((*#line 644.18 "ml.grm"*)Spec.makeRegion' (specnode, specnodeleft, specnoderight)(*#line 2742.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 104, ( result, specnode1left, specnode1right), rest671)
++end
++|  ( 67, ( ( _, ( MlyValue.valdescs valdescs1, _, valdescs1right)) :: ( _, ( _, VAL1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (valdescs as valdescs1) = valdescs1 ()
++ in ((*#line 646.34 "ml.grm"*)Spec.Val (Vector.fromList valdescs)(*#line 2748.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, VAL1left, valdescs1right), rest671)
++end
++|  ( 68, ( ( _, ( MlyValue.typdescs typdescs1, _, typdescs1right)) :: ( _, ( _, TYPE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (typdescs as typdescs1) = typdescs1 ()
++ in ((*#line 647.34 "ml.grm"*)Spec.Type (Vector.fromList typdescs)(*#line 2754.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, TYPE1left, typdescs1right), rest671)
++end
++|  ( 69, ( ( _, ( MlyValue.typBind typBind1, _, typBind1right)) :: ( _, ( _, TYPE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (typBind as typBind1) = typBind1 ()
++ in ((*#line 648.34 "ml.grm"*)Spec.TypeDefs typBind(*#line 2760.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, TYPE1left, typBind1right), rest671)
++end
++|  ( 70, ( ( _, ( MlyValue.typdescs typdescs1, _, typdescs1right)) :: ( _, ( _, EQTYPE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (typdescs as typdescs1) = typdescs1 ()
++ in ((*#line 649.34 "ml.grm"*)Spec.Eqtype (Vector.fromList typdescs)(*#line 2766.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, EQTYPE1left, typdescs1right), rest671)
++end
++|  ( 71, ( ( _, ( MlyValue.datatypeRhs datatypeRhs1, _, datatypeRhs1right)) :: ( _, ( _, DATATYPE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (datatypeRhs as datatypeRhs1) = datatypeRhs1 ()
++ in ((*#line 650.34 "ml.grm"*)Spec.Datatype datatypeRhs(*#line 2772.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, DATATYPE1left, datatypeRhs1right), rest671)
++end
++|  ( 72, ( ( _, ( MlyValue.exndescs exndescs1, _, exndescs1right)) :: ( _, ( _, EXCEPTION1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (exndescs as exndescs1) = exndescs1 ()
++ in ((*#line 651.34 "ml.grm"*)Spec.Exception (Vector.fromList exndescs)(*#line 2778.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, EXCEPTION1left, exndescs1right), rest671)
++end
++|  ( 73, ( ( _, ( MlyValue.strdescs strdescs1, _, strdescs1right)) :: ( _, ( _, STRUCTURE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (strdescs as strdescs1) = strdescs1 ()
++ in ((*#line 652.34 "ml.grm"*)Spec.Structure (Vector.fromList strdescs)(*#line 2784.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, STRUCTURE1left, strdescs1right), rest671)
++end
++|  ( 74, ( ( _, ( MlyValue.sigexp sigexp1, _, sigexp1right)) :: ( _, ( _, INCLUDE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (sigexp as sigexp1) = sigexp1 ()
++ in ((*#line 653.34 "ml.grm"*)Spec.IncludeSigexp sigexp(*#line 2790.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, INCLUDE1left, sigexp1right), rest671)
++end
++|  ( 75, ( ( _, ( MlyValue.sigids sigids1, _, sigids1right)) :: ( _, ( MlyValue.sigid sigid1, _, _)) :: ( _, ( _, INCLUDE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigids as sigids1) = sigids1 ()
++ in ((*#line 655.13 "ml.grm"*)Spec.IncludeSigids (Vector.fromList (sigid :: sigids)) (*#line 2796.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, INCLUDE1left, sigids1right), rest671)
++end
++|  ( 76, ( ( _, ( MlyValue.sharespec sharespec1, (sharespecleft as sharespec1left), (sharespecright as sharespec1right))) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (sharespec as sharespec1) = sharespec1 ()
++ in ((*#line 657.13 "ml.grm"*)Spec.Sharing {spec = Spec.makeRegion' (Spec.Empty,
++                                                   sharespecleft,
++                                                   sharespecright),
++                          equation = (SharingEquation.makeRegion'
++                                      (sharespec,
++                                       sharespecleft,
++                                       sharespecright))}(*#line 2803.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, sharespec1left, sharespec1right), rest671)
++end
++|  ( 77, ( ( _, ( MlyValue.longtyconeqns longtyconeqns1, _, longtyconeqns1right)) :: _ :: ( _, ( _, SHARING1left, _)) :: rest671)) => let val  result = MlyValue.sharespec (fn _ => let val  (longtyconeqns as longtyconeqns1) = longtyconeqns1 ()
++ in ((*#line 665.41 "ml.grm"*)SharingEquation.Type longtyconeqns(*#line 2815.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 91, ( result, SHARING1left, longtyconeqns1right), rest671)
++end
++|  ( 78, ( ( _, ( MlyValue.longstrideqns longstrideqns1, _, longstrideqns1right)) :: ( _, ( _, SHARING1left, _)) :: rest671)) => let val  result = MlyValue.sharespec (fn _ => let val  (longstrideqns as longstrideqns1) = longstrideqns1 ()
++ in ((*#line 666.41 "ml.grm"*)SharingEquation.Structure longstrideqns(*#line 2821.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 91, ( result, SHARING1left, longstrideqns1right), rest671)
++end
++|  ( 79, ( ( _, ( MlyValue.longstrid longstrid2, _, longstrid2right)) :: _ :: ( _, ( MlyValue.longstrid longstrid1, longstrid1left, _)) :: rest671)) => let val  result = MlyValue.longstrideqns (fn _ => let val  longstrid1 = longstrid1 ()
++ val  longstrid2 = longstrid2 ()
++ in ((*#line 668.46 "ml.grm"*)[longstrid1,longstrid2](*#line 2827.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 63, ( result, longstrid1left, longstrid2right), rest671)
++end
++|  ( 80, ( ( _, ( MlyValue.longstrideqns longstrideqns1, _, longstrideqns1right)) :: _ :: ( _, ( MlyValue.longstrid longstrid1, longstrid1left, _)) :: rest671)) => let val  result = MlyValue.longstrideqns (fn _ => let val  (longstrid as longstrid1) = longstrid1 ()
++ val  (longstrideqns as longstrideqns1) = longstrideqns1 ()
++ in ((*#line 669.50 "ml.grm"*)longstrid :: longstrideqns(*#line 2834.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 63, ( result, longstrid1left, longstrideqns1right), rest671)
++end
++|  ( 81, ( ( _, ( MlyValue.longtycon longtycon2, _, longtycon2right)) :: _ :: ( _, ( MlyValue.longtycon longtycon1, longtycon1left, _)) :: rest671)) => let val  result = MlyValue.longtyconeqns (fn _ => let val  longtycon1 = longtycon1 ()
++ val  longtycon2 = longtycon2 ()
++ in ((*#line 671.46 "ml.grm"*)[longtycon1,longtycon2](*#line 2841.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 66, ( result, longtycon1left, longtycon2right), rest671)
++end
++|  ( 82, ( ( _, ( MlyValue.longtyconeqns longtyconeqns1, _, longtyconeqns1right)) :: _ :: ( _, ( MlyValue.longtycon longtycon1, longtycon1left, _)) :: rest671)) => let val  result = MlyValue.longtyconeqns (fn _ => let val  (longtycon as longtycon1) = longtycon1 ()
++ val  (longtyconeqns as longtyconeqns1) = longtyconeqns1 ()
++ in ((*#line 672.50 "ml.grm"*)longtycon :: longtyconeqns(*#line 2848.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 66, ( result, longtycon1left, longtyconeqns1right), rest671)
++end
++|  ( 83, ( ( _, ( MlyValue.strdescs' strdescs'1, _, strdescs'1right)) :: ( _, ( MlyValue.sigexp' sigexp'1, _, _)) :: _ :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strdescs (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (sigexp' as sigexp'1) = sigexp'1 ()
++ val  (strdescs' as strdescs'1) = strdescs'1 ()
++ in ((*#line 674.44 "ml.grm"*)augment (strid, sigexp', strdescs')(*#line 2855.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 116, ( result, strid1left, strdescs'1right), rest671)
++end
++|  ( 84, ( rest671)) => let val  result = MlyValue.strdescs' (fn _ => ((*#line 676.41 "ml.grm"*)([], [])(*#line 2863.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 117, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 85, ( ( _, ( MlyValue.strdescs strdescs1, _, strdescs1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.strdescs' (fn _ => let val  (strdescs as strdescs1) = strdescs1 ()
++ in ((*#line 677.41 "ml.grm"*)([], strdescs)(*#line 2867.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 117, ( result, AND1left, strdescs1right), rest671)
++end
++|  ( 86, ( ( _, ( MlyValue.strdescs'' strdescs''1, _, strdescs''1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.strdescs' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (strdescs'' as strdescs''1) = strdescs''1 ()
++ in ((*#line 678.41 "ml.grm"*)cons1 (whereeqn WHEREleft, strdescs'')(*#line 2873.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 117, ( result, WHERE1left, strdescs''1right), rest671)
++end
++|  ( 87, ( ( _, ( MlyValue.strdescs' strdescs'1, strdescs'1left, strdescs'1right)) :: rest671)) => let val  result = MlyValue.strdescs'' (fn _ => let val  (strdescs' as strdescs'1) = strdescs'1 ()
++ in ((*#line 680.40 "ml.grm"*)strdescs'(*#line 2880.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 118, ( result, strdescs'1left, strdescs'1right), rest671)
++end
++|  ( 88, ( ( _, ( MlyValue.strdescs'' strdescs''1, _, strdescs''1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.strdescs'' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (strdescs'' as strdescs''1) = strdescs''1 ()
++ in ((*#line 681.40 "ml.grm"*)cons1 (whereeqn ANDleft, strdescs'')(*#line 2886.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 118, ( result, AND1left, strdescs''1right), rest671)
++end
++|  ( 89, ( ( _, ( MlyValue.typdesc typdesc1, typdesc1left, typdesc1right)) :: rest671)) => let val  result = MlyValue.typdescs (fn _ => let val  (typdesc as typdesc1) = typdesc1 ()
++ in ((*#line 683.35 "ml.grm"*)[typdesc](*#line 2893.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 145, ( result, typdesc1left, typdesc1right), rest671)
++end
++|  ( 90, ( ( _, ( MlyValue.typdescs typdescs1, _, typdescs1right)) :: _ :: ( _, ( MlyValue.typdesc typdesc1, typdesc1left, _)) :: rest671)) => let val  result = MlyValue.typdescs (fn _ => let val  (typdesc as typdesc1) = typdesc1 ()
++ val  (typdescs as typdescs1) = typdescs1 ()
++ in ((*#line 684.35 "ml.grm"*)typdesc :: typdescs(*#line 2899.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 145, ( result, typdesc1left, typdescs1right), rest671)
++end
++|  ( 91, ( ( _, ( MlyValue.tycon tycon1, _, tycon1right)) :: ( _, ( MlyValue.tyvars tyvars1, tyvars1left, _)) :: rest671)) => let val  result = MlyValue.typdesc (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (tycon as tycon1) = tycon1 ()
++ in ((*#line 686.25 "ml.grm"*){tyvars = tyvars,
++                         tycon = tycon}(*#line 2906.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 144, ( result, tyvars1left, tycon1right), rest671)
++end
++|  ( 92, ( ( _, ( MlyValue.valdesc valdesc1, valdesc1left, valdesc1right)) :: rest671)) => let val  result = MlyValue.valdescs (fn _ => let val  (valdesc as valdesc1) = valdesc1 ()
++ in ((*#line 689.36 "ml.grm"*)[valdesc](*#line 2914.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 153, ( result, valdesc1left, valdesc1right), rest671)
++end
++|  ( 93, ( ( _, ( MlyValue.valdescs valdescs1, _, valdescs1right)) :: _ :: ( _, ( MlyValue.valdesc valdesc1, valdesc1left, _)) :: rest671)) => let val  result = MlyValue.valdescs (fn _ => let val  (valdesc as valdesc1) = valdesc1 ()
++ val  (valdescs as valdescs1) = valdescs1 ()
++ in ((*#line 690.36 "ml.grm"*)valdesc :: valdescs(*#line 2920.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 153, ( result, valdesc1left, valdescs1right), rest671)
++end
++|  ( 94, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.vid vid1, vid1left, _)) :: rest671)) => let val  result = MlyValue.valdesc (fn _ => let val  (vid as vid1) = vid1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 692.26 "ml.grm"*)Vid.toVar vid, ty(*#line 2927.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 152, ( result, vid1left, ty1right), rest671)
++end
++|  ( 95, ( ( _, ( MlyValue.exndesc exndesc1, exndesc1left, exndesc1right)) :: rest671)) => let val  result = MlyValue.exndescs (fn _ => let val  (exndesc as exndesc1) = exndesc1 ()
++ in ((*#line 694.36 "ml.grm"*)[exndesc](*#line 2934.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 40, ( result, exndesc1left, exndesc1right), rest671)
++end
++|  ( 96, ( ( _, ( MlyValue.exndescs exndescs1, _, exndescs1right)) :: _ :: ( _, ( MlyValue.exndesc exndesc1, exndesc1left, _)) :: rest671)) => let val  result = MlyValue.exndescs (fn _ => let val  (exndesc as exndesc1) = exndesc1 ()
++ val  (exndescs as exndescs1) = exndescs1 ()
++ in ((*#line 695.36 "ml.grm"*)exndesc :: exndescs(*#line 2940.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 40, ( result, exndesc1left, exndescs1right), rest671)
++end
++|  ( 97, ( ( _, ( MlyValue.tyOpt tyOpt1, _, tyOpt1right)) :: ( _, ( MlyValue.con con1, con1left, _)) :: rest671)) => let val  result = MlyValue.exndesc (fn _ => let val  (con as con1) = con1 ()
++ val  (tyOpt as tyOpt1) = tyOpt1 ()
++ in ((*#line 697.23 "ml.grm"*)con, tyOpt(*#line 2947.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 39, ( result, con1left, tyOpt1right), rest671)
++end
++|  ( 98, ( rest671)) => let val  result = MlyValue.tyOpt (fn _ => ((*#line 699.18 "ml.grm"*)NONE(*#line 2954.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 140, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 99, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: ( _, ( _, OF1left, _)) :: rest671)) => let val  result = MlyValue.tyOpt (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 700.18 "ml.grm"*)SOME ty(*#line 2958.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 140, ( result, OF1left, ty1right), rest671)
++end
++|  ( 100, ( ( _, ( MlyValue.funbinds' funbinds'1, _, funbinds'1right)) :: _ :: ( _, ( MlyValue.sigconst sigconst1, _, _)) :: _ :: ( _, ( MlyValue.fctarg fctarg1, fctargleft, fctargright)) :: _ :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.funbinds (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (fctarg as fctarg1) = fctarg1 ()
++ val  (sigconst as sigconst1) = sigconst1 ()
++ val  (funbinds' as funbinds'1) = funbinds'1 ()
++ in ((*#line 707.13 "ml.grm"*)let val (strexp,funbinds) = funbinds'
++            in {name = fctid,
++                arg = FctArg.makeRegion' (fctarg, fctargleft, fctargright),
++                result = sigconst,
++                body = strexp}
++               :: funbinds
++            end(*#line 2964.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 51, ( result, fctid1left, funbinds'1right), rest671)
++end
++|  ( 101, ( ( _, ( MlyValue.funbinds'1 funbinds'11, _, funbinds'11right)) :: ( _, ( MlyValue.strexp1 strexp11, strexp11left, _)) :: rest671)) => let val  result = MlyValue.funbinds' (fn _ => let val  (strexp1 as strexp11) = strexp11 ()
++ val  (funbinds'1 as funbinds'11) = funbinds'11 ()
++ in ((*#line 715.34 "ml.grm"*)augment1 (strexp1, funbinds'1)(*#line 2979.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 52, ( result, strexp11left, funbinds'11right), rest671)
++end
++|  ( 102, ( ( _, ( MlyValue.funbinds'2 funbinds'21, _, funbinds'21right)) :: ( _, ( MlyValue.strexp2 strexp21, strexp21left, _)) :: rest671)) => let val  result = MlyValue.funbinds' (fn _ => let val  (strexp2 as strexp21) = strexp21 ()
++ val  (funbinds'2 as funbinds'21) = funbinds'21 ()
++ in ((*#line 716.34 "ml.grm"*)(strexp2, funbinds'2)(*#line 2986.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 52, ( result, strexp21left, funbinds'21right), rest671)
++end
++|  ( 103, ( ( _, ( MlyValue.funbinds'2 funbinds'21, funbinds'21left, funbinds'21right)) :: rest671)) => let val  result = MlyValue.funbinds'1 (fn _ => let val  (funbinds'2 as funbinds'21) = funbinds'21 ()
++ in ((*#line 718.43 "ml.grm"*)[], funbinds'2(*#line 2993.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 53, ( result, funbinds'21left, funbinds'21right), rest671)
++end
++|  ( 104, ( ( _, ( MlyValue.funbinds'1' funbinds'1'1, _, funbinds'1'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.funbinds'1 (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (funbinds'1' as funbinds'1'1) = funbinds'1'1 ()
++ in ((*#line 719.43 "ml.grm"*)cons1 (whereeqn WHEREleft, funbinds'1')(*#line 2999.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 53, ( result, WHERE1left, funbinds'1'1right), rest671)
++end
++|  ( 105, ( rest671)) => let val  result = MlyValue.funbinds'2 (fn _ => ((*#line 721.29 "ml.grm"*)[](*#line 3006.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 55, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 106, ( ( _, ( MlyValue.funbinds funbinds1, _, funbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.funbinds'2 (fn _ => let val  (funbinds as funbinds1) = funbinds1 ()
++ in ((*#line 722.29 "ml.grm"*)funbinds(*#line 3010.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 55, ( result, AND1left, funbinds1right), rest671)
++end
++|  ( 107, ( ( _, ( MlyValue.funbinds'1 funbinds'11, funbinds'11left, funbinds'11right)) :: rest671)) => let val  result = MlyValue.funbinds'1' (fn _ => let val  (funbinds'1 as funbinds'11) = funbinds'11 ()
++ in ((*#line 724.42 "ml.grm"*)funbinds'1(*#line 3016.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 54, ( result, funbinds'11left, funbinds'11right), rest671)
++end
++|  ( 108, ( ( _, ( MlyValue.funbinds'1' funbinds'1'1, _, funbinds'1'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.funbinds'1' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (funbinds'1' as funbinds'1'1) = funbinds'1'1 ()
++ in ((*#line 725.42 "ml.grm"*)cons1 (whereeqn ANDleft, funbinds'1')(*#line 3022.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 54, ( result, AND1left, funbinds'1'1right), rest671)
++end
++|  ( 109, ( ( _, ( MlyValue.sigexp sigexp1, _, sigexp1right)) :: _ :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.fctarg (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (sigexp as sigexp1) = sigexp1 ()
++ in ((*#line 727.31 "ml.grm"*)FctArg.Structure (strid, sigexp)(*#line 3029.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 47, ( result, strid1left, sigexp1right), rest671)
++end
++|  ( 110, ( ( _, ( MlyValue.specs specs1, specs1left, specs1right)) :: rest671)) => let val  result = MlyValue.fctarg (fn _ => let val  (specs as specs1) = specs1 ()
++ in ((*#line 728.31 "ml.grm"*)FctArg.Spec specs(*#line 3036.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 47, ( result, specs1left, specs1right), rest671)
++end
++|  ( 111, ( rest671)) => let val  result = MlyValue.decs (fn _ => ((*#line 734.26 "ml.grm"*)Dec.makeRegion' (Dec.SeqDec (Vector.new0 ()),
++                                          defaultPos, defaultPos)(*#line 3042.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 30, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 112, ( ( _, ( MlyValue.decs decs1, _, decs1right)) :: ( _, ( MlyValue.dec dec1, dec1left, _)) :: rest671)) => let val  result = MlyValue.decs (fn _ => let val  (dec as dec1) = dec1 ()
++ val  (decs as decs1) = decs1 ()
++ in ((*#line 736.26 "ml.grm"*)Dec.sequence (dec,decs)(*#line 3047.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 30, ( result, dec1left, decs1right), rest671)
++end
++|  ( 113, ( ( _, ( MlyValue.decs decs1, _, decs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.decs (fn _ => let val  (decs as decs1) = decs1 ()
++ in ((*#line 737.26 "ml.grm"*)decs(*#line 3054.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 30, ( result, SEMICOLON1left, decs1right), rest671)
++end
++|  ( 114, ( ( _, ( MlyValue.decnode decnode1, (decnodeleft as decnode1left), (decnoderight as decnode1right))) :: rest671)) => let val  result = MlyValue.dec (fn _ => let val  (decnode as decnode1) = decnode1 ()
++ in ((*#line 739.16 "ml.grm"*)Dec.makeRegion' (decnode, decnodeleft, decnoderight)(*#line 3060.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 27, ( result, decnode1left, decnode1right), rest671)
++end
++|  ( 115, ( ( _, ( MlyValue.decnolocal decnolocal1, decnolocal1left, decnolocal1right)) :: rest671)) => let val  result = MlyValue.decnode (fn _ => let val  (decnolocal as decnolocal1) = decnolocal1 ()
++ in ((*#line 741.36 "ml.grm"*)decnolocal(*#line 3066.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 28, ( result, decnolocal1left, decnolocal1right), rest671)
++end
++|  ( 116, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.decs decs2, _, _)) :: _ :: ( _, ( MlyValue.decs decs1, _, _)) :: ( _, ( _, LOCAL1left, _)) :: rest671)) => let val  result = MlyValue.decnode (fn _ => let val  decs1 = decs1 ()
++ val  decs2 = decs2 ()
++ in ((*#line 742.36 "ml.grm"*)Dec.Local (decs1,decs2)(*#line 3072.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 28, ( result, LOCAL1left, END1right), rest671)
++end
++|  ( 117, ( ( _, ( MlyValue.valbindTop valbindTop1, _, valbindTop1right)) :: ( _, ( _, VAL1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (valbindTop as valbindTop1) = valbindTop1 ()
++ in ((*#line 745.36 "ml.grm"*)Dec.Val {tyvars = Vector.new0 (),
++                                            vbs = #1 valbindTop,
++                                            rvbs = #2 valbindTop}(*#line 3079.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, VAL1left, valbindTop1right), rest671)
++end
++|  ( 118, ( ( _, ( MlyValue.valbindTop valbindTop1, _, valbindTop1right)) :: ( _, ( MlyValue.tyvarseq tyvarseq1, _, _)) :: ( _, ( _, VAL1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (tyvarseq as tyvarseq1) = tyvarseq1 ()
++ val  (valbindTop as valbindTop1) = valbindTop1 ()
++ in ((*#line 748.37 "ml.grm"*)Dec.Val {tyvars = tyvarseq,
++                                             vbs = #1 valbindTop,
++                                             rvbs = #2 valbindTop}(*#line 3087.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, VAL1left, valbindTop1right), rest671)
++end
++|  ( 119, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: ( _, ( _, DO1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (exp as exp1) = exp1 ()
++ in ((*#line 751.34 "ml.grm"*)Dec.DoDec exp(*#line 3096.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, DO1left, exp1right), rest671)
++end
++|  ( 120, ( ( _, ( MlyValue.funs funs1, _, funs1right)) :: ( _, ( _, FUN1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (funs as funs1) = funs1 ()
++ in ((*#line 752.34 "ml.grm"*)Dec.Fun {tyvars = Vector.new0 (), fbs = Vector.fromList funs}(*#line 3102.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, FUN1left, funs1right), rest671)
++end
++|  ( 121, ( ( _, ( MlyValue.funs funs1, _, funs1right)) :: ( _, ( MlyValue.tyvarseq tyvarseq1, _, _)) :: ( _, ( _, FUN1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (tyvarseq as tyvarseq1) = tyvarseq1 ()
++ val  (funs as funs1) = funs1 ()
++ in ((*#line 753.34 "ml.grm"*)Dec.Fun {tyvars = tyvarseq, fbs = Vector.fromList funs}(*#line 3108.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, FUN1left, funs1right), rest671)
++end
++|  ( 122, ( ( _, ( MlyValue.typBind typBind1, _, typBind1right)) :: ( _, ( _, TYPE1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (typBind as typBind1) = typBind1 ()
++ in ((*#line 754.34 "ml.grm"*)Dec.Type typBind(*#line 3115.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, TYPE1left, typBind1right), rest671)
++end
++|  ( 123, ( ( _, ( MlyValue.datatypeRhs datatypeRhs1, _, datatypeRhs1right)) :: ( _, ( _, DATATYPE1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (datatypeRhs as datatypeRhs1) = datatypeRhs1 ()
++ in ((*#line 755.34 "ml.grm"*)Dec.Datatype datatypeRhs(*#line 3121.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, DATATYPE1left, datatypeRhs1right), rest671)
++end
++|  ( 124, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.decs decs1, _, _)) :: _ :: ( _, ( MlyValue.datBind datBind1, _, _)) :: ( _, ( _, ABSTYPE1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (datBind as datBind1) = datBind1 ()
++ val  (decs as decs1) = decs1 ()
++ in ((*#line 756.44 "ml.grm"*)Dec.Abstype {datBind = datBind,
++                                                        body = decs}(*#line 3127.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, ABSTYPE1left, END1right), rest671)
++end
++|  ( 125, ( ( _, ( MlyValue.ebs ebs1, _, ebs1right)) :: ( _, ( _, EXCEPTION1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (ebs as ebs1) = ebs1 ()
++ in ((*#line 758.34 "ml.grm"*)Dec.Exception (Vector.fromList ebs)(*#line 3135.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, EXCEPTION1left, ebs1right), rest671)
++end
++|  ( 126, ( ( _, ( MlyValue.longstrids longstrids1, _, longstrids1right)) :: ( _, ( _, OPEN1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (longstrids as longstrids1) = longstrids1 ()
++ in ((*#line 759.34 "ml.grm"*)Dec.Open (Vector.fromList longstrids)(*#line 3141.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, OPEN1left, longstrids1right), rest671)
++end
++|  ( 127, ( ( _, ( MlyValue.vids vids1, _, vids1right)) :: ( _, ( MlyValue.fixity fixity1, fixity1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (fixity as fixity1) = fixity1 ()
++ val  (vids as vids1) = vids1 ()
++ in ((*#line 760.34 "ml.grm"*)Dec.Fix {fixity = fixity,
++                                          ops = Vector.fromList vids}(*#line 3147.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, fixity1left, vids1right), rest671)
++end
++|  ( 128, ( ( _, ( MlyValue.longvidands longvidands1, _, longvidands1right)) :: _ :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.vid vid1, _, _)) :: ( _, ( MlyValue.priority priority1, _, _)) :: ( _, ( _, OVERLOAD1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (priority as priority1) = priority1 ()
++ val  (vid as vid1) = vid1 ()
++ val  (ty as ty1) = ty1 ()
++ val  (longvidands as longvidands1) = longvidands1 ()
++ in ((*#line 763.34 "ml.grm"*)Dec.Overload (priority, 
++                                               Vid.toVar vid,
++                                               Vector.new0 (),
++                                               ty,
++                                               Vector.fromList longvidands)(*#line 3155.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, OVERLOAD1left, longvidands1right), rest671)
++end
++|  ( 129, ( ( _, ( MlyValue.valbind valbind1, valbind1left, valbind1right)) :: rest671)) => let val  result = MlyValue.valbindTop (fn _ => let val  (valbind as valbind1) = valbind1 ()
++ in ((*#line 769.23 "ml.grm"*)let
++                         val (vbs, rvbs) = valbind
++                      in
++                         (Vector.fromList vbs,
++                          Vector.fromList rvbs)
++                      end(*#line 3168.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 151, ( result, valbind1left, valbind1right), rest671)
++end
++|  ( 130, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.valbind (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (exp as exp1) = exp1 ()
++ in ((*#line 777.15 "ml.grm"*)([{pat = pat, exp = exp}], [])(*#line 3179.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 150, ( result, pat1left, exp1right), rest671)
++end
++|  ( 131, ( ( _, ( MlyValue.valbind valbind1, _, valbind1right)) :: _ :: ( _, ( MlyValue.exp exp1, _, _)) :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.valbind (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (exp as exp1) = exp1 ()
++ val  (valbind as valbind1) = valbind1 ()
++ in ((*#line 779.15 "ml.grm"*)let
++                 val (vbs, rvbs) = valbind
++              in
++                 ({pat = pat, exp = exp} :: vbs,
++                  rvbs)
++              end(*#line 3186.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 150, ( result, pat1left, valbind1right), rest671)
++end
++|  ( 132, ( ( _, ( MlyValue.rvalbind rvalbind1, _, rvalbind1right)) :: ( _, ( _, REC1left, _)) :: rest671)) => let val  result = MlyValue.valbind (fn _ => let val  (rvalbind as rvalbind1) = rvalbind1 ()
++ in ((*#line 785.41 "ml.grm"*)([], rvalbind)(*#line 3199.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 150, ( result, REC1left, rvalbind1right), rest671)
++end
++|  ( 133, ( ( _, ( MlyValue.rvalbind rvalbind1, _, rvalbind1right)) :: ( _, ( _, REC1left, _)) :: rest671)) => let val  result = MlyValue.rvalbind (fn _ => let val  (rvalbind as rvalbind1) = rvalbind1 ()
++ in ((*#line 787.41 "ml.grm"*)rvalbind(*#line 3205.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 87, ( result, REC1left, rvalbind1right), rest671)
++end
++|  ( 134, ( ( _, ( MlyValue.match match1, _, match1right)) :: _ :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.rvalbind (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (match as match1) = match1 ()
++ in ((*#line 789.15 "ml.grm"*)[{pat = pat, match = match}](*#line 3211.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 87, ( result, pat1left, match1right), rest671)
++end
++|  ( 135, ( ( _, ( MlyValue.rvalbind rvalbind1, _, rvalbind1right)) :: _ :: ( _, ( MlyValue.match match1, _, _)) :: _ :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.rvalbind (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (match as match1) = match1 ()
++ val  (rvalbind as rvalbind1) = rvalbind1 ()
++ in ((*#line 791.15 "ml.grm"*){pat = pat, match = match} :: rvalbind(*#line 3218.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 87, ( result, pat1left, rvalbind1right), rest671)
++end
++|  ( 136, ( rest671)) => let val  result = MlyValue.constraint (fn _ => ((*#line 793.34 "ml.grm"*)NONE(*#line 3226.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 16, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 137, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: ( _, ( _, COLON1left, _)) :: rest671)) => let val  result = MlyValue.constraint (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 794.34 "ml.grm"*)SOME ty(*#line 3230.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, COLON1left, ty1right), rest671)
++end
++|  ( 138, ( ( _, ( MlyValue.clausesTop clausesTop1, clausesTop1left, clausesTop1right)) :: rest671)) => let val  result = MlyValue.funs (fn _ => let val  (clausesTop as clausesTop1) = clausesTop1 ()
++ in ((*#line 796.37 "ml.grm"*)[clausesTop](*#line 3236.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 56, ( result, clausesTop1left, clausesTop1right), rest671)
++end
++|  ( 139, ( ( _, ( MlyValue.funs funs1, _, funs1right)) :: _ :: ( _, ( MlyValue.clausesTop clausesTop1, clausesTop1left, _)) :: rest671)) => let val  result = MlyValue.funs (fn _ => let val  (clausesTop as clausesTop1) = clausesTop1 ()
++ val  (funs as funs1) = funs1 ()
++ in ((*#line 797.37 "ml.grm"*)clausesTop :: funs(*#line 3242.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 56, ( result, clausesTop1left, funs1right), rest671)
++end
++|  ( 140, ( ( _, ( MlyValue.clauses clauses1, clauses1left, clauses1right)) :: rest671)) => let val  result = MlyValue.clausesTop (fn _ => let val  (clauses as clauses1) = clauses1 ()
++ in ((*#line 799.22 "ml.grm"*)Vector.fromList clauses(*#line 3249.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, clauses1left, clauses1right), rest671)
++end
++|  ( 141, ( ( _, ( MlyValue.clauses clauses1, _, clauses1right)) :: ( _, ( MlyValue.optbar' optbar'1, optbar'1left, _)) :: rest671)) => let val  result = MlyValue.clausesTop (fn _ => let val  optbar'1 = optbar'1 ()
++ val  (clauses as clauses1) = clauses1 ()
++ in ((*#line 800.30 "ml.grm"*)Vector.fromList clauses(*#line 3255.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, optbar'1left, clauses1right), rest671)
++end
++|  ( 142, ( ( _, ( MlyValue.clause clause1, clause1left, clause1right)) :: rest671)) => let val  result = MlyValue.clauses (fn _ => let val  (clause as clause1) = clause1 ()
++ in ((*#line 802.34 "ml.grm"*)[clause](*#line 3262.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, clause1left, clause1right), rest671)
++end
++|  ( 143, ( ( _, ( MlyValue.clauses clauses1, _, clauses1right)) :: _ :: ( _, ( MlyValue.clause clause1, clause1left, _)) :: rest671)) => let val  result = MlyValue.clauses (fn _ => let val  (clause as clause1) = clause1 ()
++ val  (clauses as clauses1) = clauses1 ()
++ in ((*#line 803.34 "ml.grm"*)clause :: clauses(*#line 3268.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, clause1left, clauses1right), rest671)
++end
++|  ( 144, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: _ :: ( _, ( MlyValue.constraint constraint1, _, _)) :: ( _, ( MlyValue.apats apats1, apats1left, _)) :: rest671)) => let val  result = MlyValue.clause (fn _ => let val  (apats as apats1) = apats1 ()
++ val  (constraint as constraint1) = constraint1 ()
++ val  (exp as exp1) = exp1 ()
++ in ((*#line 805.42 "ml.grm"*){pats = Vector.fromList apats,
++                                          resultType = constraint,
++                                          body = exp}(*#line 3275.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 8, ( result, apats1left, exp1right), rest671)
++end
++|  ( 145, ( ( _, ( MlyValue.tbs tbs1, (tbsleft as tbs1left), (tbsright as tbs1right))) :: rest671)) => let val  result = MlyValue.typBind (fn _ => let val  (tbs as tbs1) = tbs1 ()
++ in ((*#line 810.12 "ml.grm"*)TypBind.makeRegion' (TypBind.T tbs, tbsleft, tbsright)(*#line 3285.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 143, ( result, tbs1left, tbs1right), rest671)
++end
++|  ( 146, ( ( _, ( MlyValue.tbs' tbs'1, tbs'1left, tbs'1right)) :: rest671)) => let val  result = MlyValue.tbs (fn _ => let val  (tbs' as tbs'1) = tbs'1 ()
++ in ((*#line 812.14 "ml.grm"*)Vector.fromList tbs'(*#line 3291.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 128, ( result, tbs'1left, tbs'1right), rest671)
++end
++|  ( 147, ( ( _, ( MlyValue.tb tb1, tb1left, tb1right)) :: rest671)) => let val  result = MlyValue.tbs' (fn _ => let val  (tb as tb1) = tb1 ()
++ in ((*#line 814.22 "ml.grm"*)[tb](*#line 3297.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 129, ( result, tb1left, tb1right), rest671)
++end
++|  ( 148, ( ( _, ( MlyValue.tbs' tbs'1, _, tbs'1right)) :: _ :: ( _, ( MlyValue.tb tb1, tb1left, _)) :: rest671)) => let val  result = MlyValue.tbs' (fn _ => let val  (tb as tb1) = tb1 ()
++ val  (tbs' as tbs'1) = tbs'1 ()
++ in ((*#line 815.22 "ml.grm"*)tb :: tbs'(*#line 3303.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 129, ( result, tb1left, tbs'1right), rest671)
++end
++|  ( 149, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.tycon tycon1, _, _)) :: ( _, ( MlyValue.tyvars tyvars1, tyvars1left, _)) :: rest671)) => let val  result = MlyValue.tb (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (tycon as tycon1) = tycon1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 818.7 "ml.grm"*){def = ty,
++       tycon = tycon,
++       tyvars = tyvars}(*#line 3310.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 127, ( result, tyvars1left, ty1right), rest671)
++end
++|  ( 150, ( ( _, ( MlyValue.tyvarseq tyvarseq1, tyvarseq1left, tyvarseq1right)) :: rest671)) => let val  result = MlyValue.tyvars (fn _ => let val  (tyvarseq as tyvarseq1) = tyvarseq1 ()
++ in ((*#line 822.21 "ml.grm"*)tyvarseq(*#line 3320.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 148, ( result, tyvarseq1left, tyvarseq1right), rest671)
++end
++|  ( 151, ( rest671)) => let val  result = MlyValue.tyvars (fn _ => ((*#line 823.21 "ml.grm"*)Vector.new0 ()(*#line 3326.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 148, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 152, ( ( _, ( MlyValue.tyvar tyvar1, tyvar1left, tyvar1right)) :: rest671)) => let val  result = MlyValue.tyvarseq (fn _ => let val  (tyvar as tyvar1) = tyvar1 ()
++ in ((*#line 825.36 "ml.grm"*)Vector.new1 tyvar(*#line 3330.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 149, ( result, tyvar1left, tyvar1right), rest671)
++end
++|  ( 153, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.tyvar_pc tyvar_pc1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.tyvarseq (fn _ => let val  (tyvar_pc as tyvar_pc1) = tyvar_pc1 ()
++ in ((*#line 826.36 "ml.grm"*)Vector.fromList tyvar_pc(*#line 3336.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 149, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 154, ( ( _, ( MlyValue.tyvar tyvar1, tyvar1left, tyvar1right)) :: rest671)) => let val  result = MlyValue.tyvar_pc (fn _ => let val  (tyvar as tyvar1) = tyvar1 ()
++ in ((*#line 828.33 "ml.grm"*)[tyvar](*#line 3342.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 147, ( result, tyvar1left, tyvar1right), rest671)
++end
++|  ( 155, ( ( _, ( MlyValue.tyvar_pc tyvar_pc1, _, tyvar_pc1right)) :: _ :: ( _, ( MlyValue.tyvar tyvar1, tyvar1left, _)) :: rest671)) => let val  result = MlyValue.tyvar_pc (fn _ => let val  (tyvar as tyvar1) = tyvar1 ()
++ val  (tyvar_pc as tyvar_pc1) = tyvar_pc1 ()
++ in ((*#line 829.33 "ml.grm"*)tyvar :: tyvar_pc(*#line 3348.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 147, ( result, tyvar1left, tyvar_pc1right), rest671)
++end
++|  ( 156, ( ( _, ( MlyValue.constr constr1, constr1left, constr1right)) :: rest671)) => let val  result = MlyValue.constrs (fn _ => let val  (constr as constr1) = constr1 ()
++ in ((*#line 831.34 "ml.grm"*)[constr](*#line 3355.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 17, ( result, constr1left, constr1right), rest671)
++end
++|  ( 157, ( ( _, ( MlyValue.constrs constrs1, _, constrs1right)) :: _ :: ( _, ( MlyValue.constr constr1, constr1left, _)) :: rest671)) => let val  result = MlyValue.constrs (fn _ => let val  (constr as constr1) = constr1 ()
++ val  (constrs as constrs1) = constrs1 ()
++ in ((*#line 832.34 "ml.grm"*)constr :: constrs(*#line 3361.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 17, ( result, constr1left, constrs1right), rest671)
++end
++|  ( 158, ( ( _, ( MlyValue.opcon opcon1, opcon1left, opcon1right)) :: rest671)) => let val  result = MlyValue.constr (fn _ => let val  (opcon as opcon1) = opcon1 ()
++ in ((*#line 834.26 "ml.grm"*)opcon, NONE(*#line 3368.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 15, ( result, opcon1left, opcon1right), rest671)
++end
++|  ( 159, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.opcon opcon1, opcon1left, _)) :: rest671)) => let val  result = MlyValue.constr (fn _ => let val  (opcon as opcon1) = opcon1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 835.26 "ml.grm"*)opcon, SOME ty(*#line 3374.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 15, ( result, opcon1left, ty1right), rest671)
++end
++|  ( 160, ( ( _, ( MlyValue.con con1, con1left, con1right)) :: rest671)) => let val  result = MlyValue.opcon (fn _ => let val  (con as con1) = con1 ()
++ in ((*#line 837.26 "ml.grm"*)con(*#line 3381.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 74, ( result, con1left, con1right), rest671)
++end
++|  ( 161, ( ( _, ( MlyValue.con con1, _, con1right)) :: ( _, ( _, OP1left, _)) :: rest671)) => let val  result = MlyValue.opcon (fn _ => let val  (con as con1) = con1 ()
++ in ((*#line 838.26 "ml.grm"*)con(*#line 3387.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 74, ( result, OP1left, con1right), rest671)
++end
++|  ( 162, ( ( _, ( MlyValue.eb eb1, eb1left, eb1right)) :: rest671)) => let val  result = MlyValue.ebs (fn _ => let val  (eb as eb1) = eb1 ()
++ in ((*#line 840.28 "ml.grm"*)[eb](*#line 3393.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 36, ( result, eb1left, eb1right), rest671)
++end
++|  ( 163, ( ( _, ( MlyValue.ebs ebs1, _, ebs1right)) :: _ :: ( _, ( MlyValue.eb eb1, eb1left, _)) :: rest671)) => let val  result = MlyValue.ebs (fn _ => let val  (eb as eb1) = eb1 ()
++ val  (ebs as ebs1) = ebs1 ()
++ in ((*#line 841.28 "ml.grm"*)eb::ebs(*#line 3399.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 36, ( result, eb1left, ebs1right), rest671)
++end
++|  ( 164, ( ( _, ( MlyValue.ebrhs ebrhs1, _, ebrhs1right)) :: ( _, ( MlyValue.opcon opcon1, opcon1left, _)) :: rest671)) => let val  result = MlyValue.eb (fn _ => let val  (opcon as opcon1) = opcon1 ()
++ val  (ebrhs as ebrhs1) = ebrhs1 ()
++ in ((*#line 843.28 "ml.grm"*)opcon, ebrhs(*#line 3406.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 33, ( result, opcon1left, ebrhs1right), rest671)
++end
++|  ( 165, ( ( _, ( MlyValue.ebrhsnode ebrhsnode1, (ebrhsnodeleft as ebrhsnode1left), (ebrhsnoderight as ebrhsnode1right))) :: rest671)) => let val  result = MlyValue.ebrhs (fn _ => let val  (ebrhsnode as ebrhsnode1) = ebrhsnode1 ()
++ in ((*#line 845.20 "ml.grm"*)EbRhs.makeRegion' (ebrhsnode,
++                                     ebrhsnodeleft, ebrhsnoderight)(*#line 3413.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 34, ( result, ebrhsnode1left, ebrhsnode1right), rest671)
++end
++|  ( 166, ( rest671)) => let val  result = MlyValue.ebrhsnode (fn _ => ((*#line 848.35 "ml.grm"*)EbRhs.Gen NONE(*#line 3420.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 35, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 167, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: ( _, ( _, OF1left, _)) :: rest671)) => let val  result = MlyValue.ebrhsnode (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 849.35 "ml.grm"*)EbRhs.Gen (SOME ty)(*#line 3424.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 35, ( result, OF1left, ty1right), rest671)
++end
++|  ( 168, ( ( _, ( MlyValue.longcon longcon1, _, longcon1right)) :: ( _, ( _, EQUALOP1left, _)) :: rest671)) => let val  result = MlyValue.ebrhsnode (fn _ => let val  (longcon as longcon1) = longcon1 ()
++ in ((*#line 850.35 "ml.grm"*)EbRhs.Def longcon(*#line 3430.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 35, ( result, EQUALOP1left, longcon1right), rest671)
++end
++|  ( 169, ( ( _, ( MlyValue.longcon longcon1, _, longcon1right)) :: _ :: ( _, ( _, EQUALOP1left, _)) :: rest671)) => let val  result = MlyValue.ebrhsnode (fn _ => let val  (longcon as longcon1) = longcon1 ()
++ in ((*#line 851.35 "ml.grm"*)EbRhs.Def longcon(*#line 3436.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 35, ( result, EQUALOP1left, longcon1right), rest671)
++end
++|  ( 170, ( ( _, ( _, INFIX1left, INFIX1right)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => ((*#line 853.34 "ml.grm"*)Fixity.Infix NONE(*#line 3442.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 50, ( result, INFIX1left, INFIX1right), rest671)
++end
++|  ( 171, ( ( _, ( MlyValue.digit digit1, _, digit1right)) :: ( _, ( _, INFIX1left, _)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => let val  (digit as digit1) = digit1 ()
++ in ((*#line 854.34 "ml.grm"*)Fixity.Infix (SOME digit)(*#line 3446.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 50, ( result, INFIX1left, digit1right), rest671)
++end
++|  ( 172, ( ( _, ( _, INFIXR1left, INFIXR1right)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => ((*#line 855.34 "ml.grm"*)Fixity.Infixr NONE(*#line 3452.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 50, ( result, INFIXR1left, INFIXR1right), rest671)
++end
++|  ( 173, ( ( _, ( MlyValue.digit digit1, _, digit1right)) :: ( _, ( _, INFIXR1left, _)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => let val  (digit as digit1) = digit1 ()
++ in ((*#line 856.34 "ml.grm"*)Fixity.Infixr (SOME digit)(*#line 3456.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 50, ( result, INFIXR1left, digit1right), rest671)
++end
++|  ( 174, ( ( _, ( _, NONFIX1left, NONFIX1right)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => ((*#line 857.34 "ml.grm"*)Fixity.Nonfix(*#line 3462.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 50, ( result, NONFIX1left, NONFIX1right), rest671)
++end
++|  ( 175, ( rest671)) => let val  result = MlyValue.priority (fn _ => ((*#line 859.34 "ml.grm"*)Priority.T NONE(*#line 3466.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 82, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 176, ( ( _, ( MlyValue.digit digit1, digit1left, digit1right)) :: rest671)) => let val  result = MlyValue.priority (fn _ => let val  (digit as digit1) = digit1 ()
++ in ((*#line 860.34 "ml.grm"*)Priority.T (SOME digit)(*#line 3470.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 82, ( result, digit1left, digit1right), rest671)
++end
++|  ( 177, ( ( _, ( MlyValue.INT INT1, INT1left, INT1right)) :: rest671)) => let val  result = MlyValue.int (fn _ => let val  (INT as INT1) = INT1 ()
++ in ((*#line 863.5 "ml.grm"*)let
++       val {digits, negate, radix, ...} = INT
++    in
++       case StringCvt.scanString (fn r => IntInf.scan (radix, r)) digits of
++          NONE => Error.bug "parser saw invalid int"
++        | SOME i => if negate then ~ i else i
++    end(*#line 3476.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 58, ( result, INT1left, INT1right), rest671)
++end
++|  ( 178, ( ( _, ( MlyValue.WORD WORD1, WORD1left, WORD1right)) :: rest671)) => let val  result = MlyValue.word (fn _ => let val  (WORD as WORD1) = WORD1 ()
++ in ((*#line 872.5 "ml.grm"*)let
++       val {digits, radix} = WORD
++    in
++       case StringCvt.scanString (fn r => IntInf.scan (radix, r)) digits of
++          NONE => Error.bug "parser saw invalid word"
++        | SOME i => i
++    end(*#line 3488.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 163, ( result, WORD1left, WORD1right), rest671)
++end
++|  ( 179, ( ( _, ( MlyValue.INT INT1, (INTleft as INT1left), (INTright as INT1right))) :: rest671)) => let val  result = MlyValue.digit (fn _ => let val  (INT as INT1) = INT1 ()
++ in ((*#line 881.5 "ml.grm"*)let
++       val {digits, extended, negate, radix} = INT
++    in
++       if 1 = String.size digits andalso not extended andalso not negate andalso radix = StringCvt.DEC
++          then valOf (Int.fromString digits)
++       else let
++               open Layout
++               val _ = 
++                  Control.error (reg (INTleft, INTright),
++                                 str "invalid digit in infix declaration",
++                                 empty)
++            in
++               0
++            end
++    end(*#line 3500.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 32, ( result, INT1left, INT1right), rest671)
++end
++|  ( 180, ( ( _, ( MlyValue.INT INT1, (INTleft as INT1left), (INTright as INT1right))) :: rest671)) => let val  result = MlyValue.numericField (fn _ => let val  (INT as INT1) = INT1 ()
++ in ((*#line 898.5 "ml.grm"*)let
++       val {digits, extended, negate, radix} = INT
++       fun err () =
++          let
++             open Layout
++             val _ =
++                Control.error (reg (INTleft, INTright),
++                               str "invalid numeric label",
++                               empty)
++          in
++             1
++          end
++    in
++       if String.sub (digits, 0) <> #"0" andalso not extended andalso not negate andalso radix = StringCvt.DEC
++          then case StringCvt.scanString (fn r => IntInf.scan (radix, r)) digits of
++                  NONE => Error.bug "parser saw invalid int"
++                | SOME i => (IntInf.toInt (if negate then ~ i else i)
++                             handle Exn.Overflow => err ())
++       else err ()
++    end(*#line 3520.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 72, ( result, INT1left, INT1right), rest671)
++end
++|  ( 181, ( ( _, ( MlyValue.datatypeRhsnode datatypeRhsnode1, (datatypeRhsnodeleft as datatypeRhsnode1left), (datatypeRhsnoderight as datatypeRhsnode1right))) :: rest671)) => let val  result = MlyValue.datatypeRhs (fn _ => let val  (datatypeRhsnode as datatypeRhsnode1) = datatypeRhsnode1 ()
++ in ((*#line 921.7 "ml.grm"*)DatatypeRhs.makeRegion' (datatypeRhsnode,
++                               datatypeRhsnodeleft, datatypeRhsnoderight)(*#line 3545.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 22, ( result, datatypeRhsnode1left, datatypeRhsnode1right), rest671)
++end
++|  ( 182, ( ( _, ( MlyValue.repl repl1, repl1left, repl1right)) :: rest671)) => let val  result = MlyValue.datatypeRhsnode (fn _ => let val  (repl as repl1) = repl1 ()
++ in ((*#line 925.25 "ml.grm"*)repl(*#line 3552.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 23, ( result, repl1left, repl1right), rest671)
++end
++|  ( 183, ( ( _, ( MlyValue.datBind datBind1, datBind1left, datBind1right)) :: rest671)) => let val  result = MlyValue.datatypeRhsnode (fn _ => let val  (datBind as datBind1) = datBind1 ()
++ in ((*#line 926.25 "ml.grm"*)DatatypeRhs.DatBind datBind(*#line 3558.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 23, ( result, datBind1left, datBind1right), rest671)
++end
++|  ( 184, ( ( _, ( MlyValue.longtycon longtycon1, _, longtycon1right)) :: _ :: _ :: ( _, ( MlyValue.tycon tycon1, _, _)) :: ( _, ( MlyValue.tyvars tyvars1, (tyvarsleft as tyvars1left), tyvarsright)) :: rest671)) => let val  result = MlyValue.repl (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (tycon as tycon1) = tycon1 ()
++ val  (longtycon as longtycon1) = longtycon1 ()
++ in ((*#line 929.9 "ml.grm"*)if Vector.isEmpty tyvars
++           then ()
++        else error (reg (tyvarsleft, tyvarsright),
++                    "nonempty tyvars in datatype repl")
++        ; DatatypeRhs.Repl {lhs = tycon, rhs = longtycon}(*#line 3564.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 84, ( result, tyvars1left, longtycon1right), rest671)
++end
++|  ( 185, ( ( _, ( MlyValue.dbs dbs1, (dbsleft as dbs1left), (dbsright as dbs1right))) :: rest671)) => let val  result = MlyValue.datBind (fn _ => let val  (dbs as dbs1) = dbs1 ()
++ in ((*#line 937.7 "ml.grm"*)DatBind.make (dbs, TypBind.empty, dbsleft, dbsright)(*#line 3576.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 21, ( result, dbs1left, dbs1right), rest671)
++end
++|  ( 186, ( ( _, ( MlyValue.withtypes withtypes1, _, (withtypesright as withtypes1right))) :: ( _, ( MlyValue.dbs dbs1, (dbsleft as dbs1left), _)) :: rest671)) => let val  result = MlyValue.datBind (fn _ => let val  (dbs as dbs1) = dbs1 ()
++ val  (withtypes as withtypes1) = withtypes1 ()
++ in ((*#line 939.7 "ml.grm"*)DatBind.make (dbs, withtypes, dbsleft, withtypesright)(*#line 3582.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 21, ( result, dbs1left, withtypes1right), rest671)
++end
++|  ( 187, ( ( _, ( MlyValue.dbs' dbs'1, dbs'1left, dbs'1right)) :: rest671)) => let val  result = MlyValue.dbs (fn _ => let val  (dbs' as dbs'1) = dbs'1 ()
++ in ((*#line 941.13 "ml.grm"*)Vector.fromList dbs'(*#line 3589.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 25, ( result, dbs'1left, dbs'1right), rest671)
++end
++|  ( 188, ( ( _, ( MlyValue.db db1, db1left, db1right)) :: rest671)) => let val  result = MlyValue.dbs' (fn _ => let val  (db as db1) = db1 ()
++ in ((*#line 943.22 "ml.grm"*)[db](*#line 3595.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 26, ( result, db1left, db1right), rest671)
++end
++|  ( 189, ( ( _, ( MlyValue.dbs' dbs'1, _, dbs'1right)) :: _ :: ( _, ( MlyValue.db db1, db1left, _)) :: rest671)) => let val  result = MlyValue.dbs' (fn _ => let val  (db as db1) = db1 ()
++ val  (dbs' as dbs'1) = dbs'1 ()
++ in ((*#line 944.22 "ml.grm"*)db :: dbs'(*#line 3601.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 26, ( result, db1left, dbs'1right), rest671)
++end
++|  ( 190, ( ( _, ( MlyValue.constrs constrs1, _, constrs1right)) :: ( _, ( MlyValue.optbar optbar1, _, _)) :: _ :: ( _, ( MlyValue.tycon tycon1, _, _)) :: ( _, ( MlyValue.tyvars tyvars1, tyvars1left, _)) :: rest671)) => let val  result = MlyValue.db (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (tycon as tycon1) = tycon1 ()
++ val  optbar1 = optbar1 ()
++ val  (constrs as constrs1) = constrs1 ()
++ in ((*#line 947.7 "ml.grm"*){cons = Vector.fromList constrs,
++       tycon = tycon,
++       tyvars = tyvars}(*#line 3608.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 24, ( result, tyvars1left, constrs1right), rest671)
++end
++|  ( 191, ( ( _, ( MlyValue.typBind typBind1, _, typBind1right)) :: ( _, ( _, WITHTYPE1left, _)) :: rest671)) => let val  result = MlyValue.withtypes (fn _ => let val  (typBind as typBind1) = typBind1 ()
++ in ((*#line 951.32 "ml.grm"*)typBind(*#line 3619.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 162, ( result, WITHTYPE1left, typBind1right), rest671)
++end
++|  ( 192, ( ( _, ( MlyValue.longvid longvid1, longvid1left, longvid1right)) :: rest671)) => let val  result = MlyValue.longvidands (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 953.25 "ml.grm"*)[longvid](*#line 3625.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 70, ( result, longvid1left, longvid1right), rest671)
++end
++|  ( 193, ( ( _, ( MlyValue.longvidands longvidands1, _, longvidands1right)) :: _ :: ( _, ( MlyValue.longvid longvid1, longvid1left, _)) :: rest671)) => let val  result = MlyValue.longvidands (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ val  (longvidands as longvidands1) = longvidands1 ()
++ in ((*#line 954.40 "ml.grm"*)longvid :: longvidands(*#line 3631.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 70, ( result, longvid1left, longvidands1right), rest671)
++end
++|  ( 194, ( ( _, ( MlyValue.rules rules1, rulesleft, (rulesright as rules1right))) :: ( _, ( MlyValue.optbar optbar1, optbar1left, _)) :: rest671)) => let val  result = MlyValue.match (fn _ => let val  optbar1 = optbar1 ()
++ val  (rules as rules1) = rules1 ()
++ in ((*#line 956.26 "ml.grm"*)Match.makeRegion' (Match.T (Vector.fromList rules),
++                                            rulesleft, rulesright)(*#line 3638.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 71, ( result, optbar1left, rules1right), rest671)
++end
++|  ( 195, ( ( _, ( MlyValue.rule rule1, rule1left, rule1right)) :: rest671)) => let val  result = MlyValue.rules (fn _ => let val  (rule as rule1) = rule1 ()
++ in ((*#line 959.26 "ml.grm"*)[rule](*#line 3646.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 86, ( result, rule1left, rule1right), rest671)
++end
++|  ( 196, ( ( _, ( MlyValue.rules rules1, _, rules1right)) :: _ :: ( _, ( MlyValue.rule rule1, rule1left, _)) :: rest671)) => let val  result = MlyValue.rules (fn _ => let val  (rule as rule1) = rule1 ()
++ val  (rules as rules1) = rules1 ()
++ in ((*#line 960.26 "ml.grm"*)rule :: rules(*#line 3652.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 86, ( result, rule1left, rules1right), rest671)
++end
++|  ( 197, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.rule (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (exp as exp1) = exp1 ()
++ in ((*#line 962.34 "ml.grm"*)(pat,exp)(*#line 3659.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 85, ( result, pat1left, exp1right), rest671)
++end
++|  ( 198, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: _ :: ( _, ( MlyValue.field field1, (fieldleft as field1left), fieldright)) :: rest671)) => let val  result = MlyValue.elabel (fn _ => let val  (field as field1) = field1 ()
++ val  (exp as exp1) = exp1 ()
++ in ((*#line 964.34 "ml.grm"*)field, (reg (fieldleft, fieldright), exp)(*#line 3666.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 37, ( result, field1left, exp1right), rest671)
++end
++|  ( 199, ( ( _, ( MlyValue.constraint constraint1, _, (constraintright as constraint1right))) :: ( _, ( MlyValue.idField idField1, (idFieldleft as idField1left), idFieldright)) :: rest671)) => let val  result = MlyValue.elabel (fn _ => let val  (idField as idField1) = idField1 ()
++ val  (constraint as constraint1) = constraint1 ()
++ in ((*#line 965.34 "ml.grm"*)if allowRecordPunExps ()
++                                    then ()
++                                    else error (reg (idFieldleft, idFieldright), "Record punning expressions disallowed, compile with -default-ann 'allowRecordPunExps true'")
++                                 ; (Field.Symbol (#1 idField),
++                                    (reg (idFieldleft, idFieldright),
++                                     let
++                                        val exp =
++                                           Exp.makeRegion'
++                                           (Exp.FlatApp
++                                            (Vector.new1
++                                             (Exp.makeRegion'
++                                              (Exp.Var {name = Longvid.short (Vid.fromSymbol idField),
++                                                        fixop = Fixop.None},
++                                               idFieldleft, idFieldright))),
++                                            idFieldleft, idFieldright)
++                                        val exp =
++                                           case constraint of
++                                              NONE => exp
++                                            | SOME ty =>
++                                                 Exp.makeRegion'
++                                                 (Exp.Constraint (exp, ty),
++                                                  idFieldleft, constraintright)
++                                     in
++                                        exp
++                                     end))(*#line 3673.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 37, ( result, idField1left, constraint1right), rest671)
++end
++|  ( 200, ( ( _, ( MlyValue.elabels elabels1, _, elabels1right)) :: _ :: ( _, ( MlyValue.elabel elabel1, elabel1left, _)) :: rest671)) => let val  result = MlyValue.elabels (fn _ => let val  (elabel as elabel1) = elabel1 ()
++ val  (elabels as elabels1) = elabels1 ()
++ in ((*#line 991.34 "ml.grm"*)elabel :: elabels(*#line 3704.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 38, ( result, elabel1left, elabels1right), rest671)
++end
++|  ( 201, ( ( _, ( MlyValue.elabel elabel1, elabel1left, elabel1right)) :: rest671)) => let val  result = MlyValue.elabels (fn _ => let val  (elabel as elabel1) = elabel1 ()
++ in ((*#line 992.34 "ml.grm"*)[elabel](*#line 3711.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 38, ( result, elabel1left, elabel1right), rest671)
++end
++|  ( 202, ( ( _, ( MlyValue.optsemicolon optsemicolon1, _, optsemicolon1right)) :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_ps (fn _ => let val  (exp as exp1) = exp1 ()
++ val  optsemicolon1 = optsemicolon1 ()
++ in ((*#line 994.34 "ml.grm"*)[exp](*#line 3717.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 44, ( result, exp1left, optsemicolon1right), rest671)
++end
++|  ( 203, ( ( _, ( MlyValue.exp_ps exp_ps1, _, exp_ps1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_ps (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (exp_ps as exp_ps1) = exp_ps1 ()
++ in ((*#line 995.34 "ml.grm"*)exp :: exp_ps(*#line 3724.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 44, ( result, exp1left, exp_ps1right), rest671)
++end
++|  ( 204, ( ( _, ( MlyValue.expnode expnode1, (expnodeleft as expnode1left), (expnoderight as expnode1right))) :: rest671)) => let val  result = MlyValue.exp (fn _ => let val  (expnode as expnode1) = expnode1 ()
++ in ((*#line 997.16 "ml.grm"*)Exp.makeRegion' (expnode, expnodeleft, expnoderight)(*#line 3731.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 41, ( result, expnode1left, expnode1right), rest671)
++end
++|  ( 205, ( ( _, ( MlyValue.match match1, _, match1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (match as match1) = match1 ()
++ in ((*#line 999.34 "ml.grm"*)Exp.Handle (exp, match)(*#line 3737.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, exp1left, match1right), rest671)
++end
++|  ( 206, ( ( _, ( MlyValue.exp exp2, _, exp2right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ in ((*#line 1000.34 "ml.grm"*)Exp.Orelse (exp1, exp2)(*#line 3744.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, exp1left, exp2right), rest671)
++end
++|  ( 207, ( ( _, ( MlyValue.exp exp2, _, exp2right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ in ((*#line 1001.34 "ml.grm"*)Exp.Andalso (exp1, exp2)(*#line 3751.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, exp1left, exp2right), rest671)
++end
++|  ( 208, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1002.34 "ml.grm"*)Exp.Constraint (exp, ty)(*#line 3758.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, exp1left, ty1right), rest671)
++end
++|  ( 209, ( ( _, ( MlyValue.app_exp app_exp1, app_exp1left, app_exp1right)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (app_exp as app_exp1) = app_exp1 ()
++ in ((*#line 1003.34 "ml.grm"*)Exp.FlatApp (Vector.fromList app_exp)(*#line 3765.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, app_exp1left, app_exp1right), rest671)
++end
++|  ( 210, ( ( _, ( MlyValue.match match1, _, match1right)) :: ( _, ( _, FN1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (match as match1) = match1 ()
++ in ((*#line 1004.34 "ml.grm"*)Exp.Fn match(*#line 3771.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, FN1left, match1right), rest671)
++end
++|  ( 211, ( ( _, ( MlyValue.match match1, _, match1right)) :: _ :: ( _, ( MlyValue.exp exp1, _, _)) :: ( _, ( _, CASE1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (match as match1) = match1 ()
++ in ((*#line 1005.34 "ml.grm"*)Exp.Case (exp, match)(*#line 3777.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, CASE1left, match1right), rest671)
++end
++|  ( 212, ( ( _, ( MlyValue.exp exp2, _, exp2right)) :: _ :: ( _, ( MlyValue.exp exp1, _, _)) :: ( _, ( _, WHILE1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ in ((*#line 1006.34 "ml.grm"*)Exp.While {test = exp1, expr = exp2}(*#line 3784.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, WHILE1left, exp2right), rest671)
++end
++|  ( 213, ( ( _, ( MlyValue.exp exp3, _, exp3right)) :: _ :: ( _, ( MlyValue.exp exp2, _, _)) :: _ :: ( _, ( MlyValue.exp exp1, _, _)) :: ( _, ( _, IF1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ val  exp3 = exp3 ()
++ in ((*#line 1007.37 "ml.grm"*)Exp.If (exp1, exp2, exp3)(*#line 3791.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, IF1left, exp3right), rest671)
++end
++|  ( 214, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: ( _, ( _, RAISE1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (exp as exp1) = exp1 ()
++ in ((*#line 1008.34 "ml.grm"*)Exp.Raise exp(*#line 3799.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, RAISE1left, exp1right), rest671)
++end
++|  ( 215, ( ( _, ( MlyValue.aexp aexp1, (aexpleft as aexp1left), (aexpright as aexp1right))) :: rest671)) => let val  result = MlyValue.app_exp (fn _ => let val  (aexp as aexp1) = aexp1 ()
++ in ((*#line 1010.29 "ml.grm"*)[Exp.makeRegion' (aexp, aexpleft, aexpright)](*#line 3805.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, aexp1left, aexp1right), rest671)
++end
++|  ( 216, ( ( _, ( MlyValue.app_exp app_exp1, _, app_exp1right)) :: ( _, ( MlyValue.aexp aexp1, (aexpleft as aexp1left), aexpright)) :: rest671)) => let val  result = MlyValue.app_exp (fn _ => let val  (aexp as aexp1) = aexp1 ()
++ val  (app_exp as app_exp1) = app_exp1 ()
++ in ((*#line 1011.29 "ml.grm"*)Exp.makeRegion' (aexp, aexpleft, aexpright)
++                            :: app_exp(*#line 3811.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, aexp1left, app_exp1right), rest671)
++end
++|  ( 217, ( ( _, ( MlyValue.longvid longvid1, (longvidleft as longvid1left), (longvidright as longvid1right))) :: rest671)) => let val  result = MlyValue.app_exp (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 1013.29 "ml.grm"*)[Exp.makeRegion' (Exp.Var {name = longvid,
++                                                       fixop = Fixop.None},
++                                              longvidleft, longvidright)](*#line 3819.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, longvid1left, longvid1right), rest671)
++end
++|  ( 218, ( ( _, ( MlyValue.app_exp app_exp1, _, app_exp1right)) :: ( _, ( MlyValue.longvid longvid1, (longvidleft as longvid1left), longvidright)) :: rest671)) => let val  result = MlyValue.app_exp (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ val  (app_exp as app_exp1) = app_exp1 ()
++ in ((*#line 1016.29 "ml.grm"*)Exp.makeRegion' (Exp.Var {name = longvid,
++                                                      fixop = Fixop.None},
++                                             longvidleft, longvidright)
++                            :: app_exp(*#line 3827.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, longvid1left, app_exp1right), rest671)
++end
++|  ( 219, ( ( _, ( MlyValue.longvid longvid1, _, longvid1right)) :: ( _, ( _, OP1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 1021.34 "ml.grm"*)Exp.Var {name = longvid,
++                                          fixop = Fixop.Op}(*#line 3837.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, OP1left, longvid1right), rest671)
++end
++|  ( 220, ( ( _, ( MlyValue.const const1, const1left, const1right)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (const as const1) = const1 ()
++ in ((*#line 1023.34 "ml.grm"*)Exp.Const const(*#line 3844.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, const1left, const1right), rest671)
++end
++|  ( 221, ( ( _, ( MlyValue.field field1, _, field1right)) :: ( _, ( _, HASH1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (field as field1) = field1 ()
++ in ((*#line 1024.34 "ml.grm"*)Exp.Selector field(*#line 3850.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, HASH1left, field1right), rest671)
++end
++|  ( 222, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( MlyValue.exp_list exp_list1, _, _)) :: ( _, ( _, HASHLBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (exp_list as exp_list1) = exp_list1 ()
++ in ((*#line 1025.43 "ml.grm"*)Exp.Vector (Vector.fromList exp_list)(*#line 3856.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, HASHLBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 223, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( _, HASHLBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => ((*#line 1026.43 "ml.grm"*)Exp.Vector (Vector.new0 ())(*#line 3862.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 0, ( result, HASHLBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 224, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.elabels elabels1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (elabels as elabels1) = elabels1 ()
++ in ((*#line 1028.12 "ml.grm"*)Exp.Record (Record.fromVector (Vector.fromList elabels))(*#line 3866.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 225, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => ((*#line 1029.34 "ml.grm"*)Exp.unit(*#line 3872.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 0, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 226, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => ((*#line 1030.34 "ml.grm"*)Exp.unit(*#line 3876.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 0, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 227, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.exp_ps exp_ps1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (exp_ps as exp_ps1) = exp_ps1 ()
++ in ((*#line 1032.14 "ml.grm"*)case exp_ps of
++                [exp] => Exp.Paren exp
++              | _ => Exp.Seq (Vector.fromList exp_ps)(*#line 3880.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 228, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.exp_2c exp_2c1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (exp_2c as exp_2c1) = exp_2c1 ()
++ in ((*#line 1035.34 "ml.grm"*)Exp.tuple (Vector.fromList exp_2c)(*#line 3888.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 229, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( MlyValue.exp_list exp_list1, _, _)) :: ( _, ( _, LBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (exp_list as exp_list1) = exp_list1 ()
++ in ((*#line 1036.40 "ml.grm"*)Exp.List (Vector.fromList exp_list)(*#line 3894.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 230, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( _, LBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => ((*#line 1037.40 "ml.grm"*)Exp.List (Vector.new0 ())(*#line 3900.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 0, ( result, LBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 231, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.exp_ps exp_ps1, exp_psleft, exp_psright)) :: _ :: ( _, ( MlyValue.decs decs1, _, _)) :: ( _, ( _, LET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (decs as decs1) = decs1 ()
++ val  (exp_ps as exp_ps1) = exp_ps1 ()
++ in ((*#line 1039.14 "ml.grm"*)Exp.Let (decs,
++                      case exp_ps of
++                         [exp] => exp
++                       | _ => Exp.makeRegion' (Exp.Seq (Vector.fromList exp_ps),
++                                               exp_psleft, exp_psright))(*#line 3904.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LET1left, END1right), rest671)
++end
++|  ( 232, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.symattributes symattributes1, _, _)) :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, ADDRESS1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (symattributes as symattributes1) = symattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1045.12 "ml.grm"*)Exp.Prim (PrimKind.Address {attributes = symattributes,
++                                       name = string,
++                                       ty = ty})(*#line 3915.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, ADDRESS1left, SEMICOLON1right), rest671)
++end
++|  ( 233, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, BUILD_CONST1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1049.12 "ml.grm"*)Exp.Prim (PrimKind.BuildConst {name = string, ty = ty})(*#line 3925.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, BUILD_CONST1left, SEMICOLON1right), rest671)
++end
++|  ( 234, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.constOrBool constOrBool1, _, _)) :: _ :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, COMMAND_LINE_CONST1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ty as ty1) = ty1 ()
++ val  (constOrBool as constOrBool1) = constOrBool1 ()
++ in ((*#line 1051.12 "ml.grm"*)Exp.Prim (PrimKind.CommandLineConst {name = string,
++                                                ty = ty,
++                                                value = constOrBool})(*#line 3932.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, COMMAND_LINE_CONST1left, SEMICOLON1right), rest671)
++end
++|  ( 235, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, CONST1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1055.12 "ml.grm"*)Exp.Prim (PrimKind.Const {name = string, ty = ty})(*#line 3942.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, CONST1left, SEMICOLON1right), rest671)
++end
++|  ( 236, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.ieattributes ieattributes1, _, _)) :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, EXPORT1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ieattributes as ieattributes1) = ieattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1057.12 "ml.grm"*)Exp.Prim (PrimKind.Export {attributes = ieattributes,
++                                      name = string,
++                                      ty = ty})(*#line 3949.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, EXPORT1left, SEMICOLON1right), rest671)
++end
++|  ( 237, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.ieattributes ieattributes1, _, _)) :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, IMPORT1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ieattributes as ieattributes1) = ieattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1061.12 "ml.grm"*)Exp.Prim (PrimKind.Import {attributes = ieattributes,
++                                      name = string,
++                                      ty = ty})(*#line 3959.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, IMPORT1left, SEMICOLON1right), rest671)
++end
++|  ( 238, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.ieattributes ieattributes1, _, _)) :: _ :: ( _, ( _, IMPORT1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (ieattributes as ieattributes1) = ieattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1065.12 "ml.grm"*)Exp.Prim (PrimKind.IImport {attributes = ieattributes,
++                                       ty = ty})(*#line 3969.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, IMPORT1left, SEMICOLON1right), rest671)
++end
++|  ( 239, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, PRIM1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1068.12 "ml.grm"*)Exp.Prim (PrimKind.Prim {name = string,
++                                    ty = ty})(*#line 3977.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, PRIM1left, SEMICOLON1right), rest671)
++end
++|  ( 240, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.symattributes symattributes1, _, _)) :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, SYMBOL1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (symattributes as symattributes1) = symattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1071.12 "ml.grm"*)Exp.Prim (PrimKind.Symbol {attributes = symattributes,
++                                      name = string,
++                                      ty = ty})(*#line 3985.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, SYMBOL1left, SEMICOLON1right), rest671)
++end
++|  ( 241, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: _ :: ( _, ( _, SYMBOL1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 1075.12 "ml.grm"*)Exp.Prim (PrimKind.ISymbol {ty = ty})(*#line 3995.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, SYMBOL1left, SEMICOLON1right), rest671)
++end
++|  ( 242, ( rest671)) => let val  result = MlyValue.ieattributes (fn _ => ((*#line 1079.7 "ml.grm"*)[](*#line 4001.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 6, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 243, ( ( _, ( MlyValue.ieattributes ieattributes1, _, ieattributes1right)) :: ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, _)) :: rest671)) => let val  result = MlyValue.ieattributes (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ val  (ieattributes as ieattributes1) = ieattributes1 ()
++ in ((*#line 1081.7 "ml.grm"*)let
++         val (id, reg) = shortAlphanumId
++      in
++         case Symbol.toString id of
++            "cdecl" => PrimKind.ImportExportAttribute.Cdecl :: ieattributes
++          | "external" => PrimKind.ImportExportAttribute.External :: ieattributes
++          | "impure" => PrimKind.ImportExportAttribute.Impure :: ieattributes
++          | "inline" => PrimKind.ImportExportAttribute.Inline :: ieattributes
++          | "private" => PrimKind.ImportExportAttribute.Private :: ieattributes
++          | "public" => PrimKind.ImportExportAttribute.Public :: ieattributes
++          | "pure" => PrimKind.ImportExportAttribute.Pure :: ieattributes
++          | "reentrant" => PrimKind.ImportExportAttribute.Reentrant :: ieattributes
++          | "runtime" => PrimKind.ImportExportAttribute.Runtime :: ieattributes
++          | "stdcall" => PrimKind.ImportExportAttribute.Stdcall :: ieattributes
++          | id => (error (reg, concat ["invalid attribute: ", id])
++                   ; ieattributes)
++      end(*#line 4005.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 6, ( result, shortAlphanumId1left, ieattributes1right), rest671)
++end
++|  ( 244, ( rest671)) => let val  result = MlyValue.symattributes (fn _ => ((*#line 1101.7 "ml.grm"*)[](*#line 4028.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 126, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 245, ( ( _, ( MlyValue.symattributes symattributes1, _, symattributes1right)) :: ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, _)) :: rest671)) => let val  result = MlyValue.symattributes (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ val  (symattributes as symattributes1) = symattributes1 ()
++ in ((*#line 1103.7 "ml.grm"*)let
++         val (id, reg) = shortAlphanumId
++      in
++         case Symbol.toString id of
++            "alloc" => PrimKind.SymbolAttribute.Alloc :: symattributes
++          | "external" => PrimKind.SymbolAttribute.External :: symattributes
++          | "private" => PrimKind.SymbolAttribute.Private :: symattributes
++          | "public" => PrimKind.SymbolAttribute.Public :: symattributes
++          | id => (error (reg, concat ["invalid attribute: ", id])
++                   ; symattributes)
++      end(*#line 4032.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 126, ( result, shortAlphanumId1left, symattributes1right), rest671)
++end
++|  ( 246, ( ( _, ( MlyValue.exp_2c exp_2c1, _, exp_2c1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_2c (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (exp_2c as exp_2c1) = exp_2c1 ()
++ in ((*#line 1115.34 "ml.grm"*)exp :: exp_2c(*#line 4049.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 42, ( result, exp1left, exp_2c1right), rest671)
++end
++|  ( 247, ( ( _, ( MlyValue.exp exp2, _, exp2right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_2c (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ in ((*#line 1116.34 "ml.grm"*)[exp1, exp2](*#line 4056.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 42, ( result, exp1left, exp2right), rest671)
++end
++|  ( 248, ( ( _, ( MlyValue.exp exp1, exp1left, exp1right)) :: rest671)) => let val  result = MlyValue.exp_list (fn _ => let val  (exp as exp1) = exp1 ()
++ in ((*#line 1118.34 "ml.grm"*)[exp](*#line 4063.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 43, ( result, exp1left, exp1right), rest671)
++end
++|  ( 249, ( ( _, ( MlyValue.exp_list exp_list1, _, exp_list1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_list (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (exp_list as exp_list1) = exp_list1 ()
++ in ((*#line 1119.34 "ml.grm"*)exp :: exp_list(*#line 4069.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 43, ( result, exp1left, exp_list1right), rest671)
++end
++|  ( 250, ( ( _, ( MlyValue.barcpats barcpats1, _, (barcpatsright as barcpats1right))) :: _ :: ( _, ( MlyValue.cpat cpat1, (cpatleft as cpat1left), _)) :: rest671)) => let val  result = MlyValue.pat (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ val  (barcpats as barcpats1) = barcpats1 ()
++ in ((*#line 1125.27 "ml.grm"*)Pat.makeRegion' (Pat.Or (Vector.fromList (cpat::barcpats)),
++                                           cpatleft, barcpatsright)(*#line 4076.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 78, ( result, cpat1left, barcpats1right), rest671)
++end
++|  ( 251, ( ( _, ( MlyValue.cpat cpat1, cpat1left, cpat1right)) :: rest671)) => let val  result = MlyValue.pat (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ in ((*#line 1127.27 "ml.grm"*)cpat(*#line 4084.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 78, ( result, cpat1left, cpat1right), rest671)
++end
++|  ( 252, ( ( _, ( MlyValue.cpatnode cpatnode1, (cpatnodeleft as cpatnode1left), (cpatnoderight as cpatnode1right))) :: rest671)) => let val  result = MlyValue.cpat (fn _ => let val  (cpatnode as cpatnode1) = cpatnode1 ()
++ in ((*#line 1129.18 "ml.grm"*)Pat.makeRegion' (cpatnode, cpatnodeleft, cpatnoderight)(*#line 4090.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 19, ( result, cpatnode1left, cpatnode1right), rest671)
++end
++|  ( 253, ( ( _, ( MlyValue.cpat cpat2, _, cpat2right)) :: _ :: ( _, ( MlyValue.cpat cpat1, cpat1left, _)) :: rest671)) => let val  result = MlyValue.cpatnode (fn _ => let val  cpat1 = cpat1 ()
++ val  cpat2 = cpat2 ()
++ in ((*#line 1131.28 "ml.grm"*)Pat.makeAs (cpat1, cpat2)(*#line 4096.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, cpat1left, cpat2right), rest671)
++end
++|  ( 254, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.cpat cpat1, cpat1left, _)) :: rest671)) => let val  result = MlyValue.cpatnode (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1132.28 "ml.grm"*)Pat.Constraint (cpat, ty)(*#line 4103.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, cpat1left, ty1right), rest671)
++end
++|  ( 255, ( ( _, ( MlyValue.apats apats1, apats1left, apats1right)) :: rest671)) => let val  result = MlyValue.cpatnode (fn _ => let val  (apats as apats1) = apats1 ()
++ in ((*#line 1133.28 "ml.grm"*)Pat.FlatApp (Vector.fromList apats)(*#line 4110.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, apats1left, apats1right), rest671)
++end
++|  ( 256, ( ( _, ( MlyValue.apat apat1, apat1left, apat1right)) :: rest671)) => let val  result = MlyValue.apats (fn _ => let val  (apat as apat1) = apat1 ()
++ in ((*#line 1135.22 "ml.grm"*)[apat](*#line 4116.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, apat1left, apat1right), rest671)
++end
++|  ( 257, ( ( _, ( MlyValue.apats apats1, _, apats1right)) :: ( _, ( MlyValue.apat apat1, apat1left, _)) :: rest671)) => let val  result = MlyValue.apats (fn _ => let val  (apat as apat1) = apat1 ()
++ val  (apats as apats1) = apats1 ()
++ in ((*#line 1136.22 "ml.grm"*)apat :: apats(*#line 4122.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, apat1left, apats1right), rest671)
++end
++|  ( 258, ( ( _, ( MlyValue.apatnode apatnode1, (apatnodeleft as apatnode1left), (apatnoderight as apatnode1right))) :: rest671)) => let val  result = MlyValue.apat (fn _ => let val  (apatnode as apatnode1) = apatnode1 ()
++ in ((*#line 1139.15 "ml.grm"*)Pat.makeRegion' (apatnode,
++                               apatnodeleft,
++                               apatnoderight)(*#line 4129.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, apatnode1left, apatnode1right), rest671)
++end
++|  ( 259, ( ( _, ( MlyValue.longvidNoEqual longvidNoEqual1, longvidNoEqual1left, longvidNoEqual1right)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (longvidNoEqual as longvidNoEqual1) = longvidNoEqual1 ()
++ in ((*#line 1144.34 "ml.grm"*)Pat.Var {name = longvidNoEqual,
++                                          fixop = Fixop.None}(*#line 4137.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, longvidNoEqual1left, longvidNoEqual1right), rest671)
++end
++|  ( 260, ( ( _, ( MlyValue.longvid longvid1, _, longvid1right)) :: ( _, ( _, OP1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 1146.34 "ml.grm"*)Pat.Var {name = longvid,
++                                          fixop = Fixop.Op}(*#line 4144.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, OP1left, longvid1right), rest671)
++end
++|  ( 261, ( ( _, ( MlyValue.const const1, const1left, const1right)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (const as const1) = const1 ()
++ in ((*#line 1149.8 "ml.grm"*)let
++          val _ =
++             case Const.node const of
++                Const.Real r =>
++                   let
++                      open Layout
++                   in
++                      Control.error
++                      (Const.region const,
++                       seq [str "real constants not allowed in patterns: ",
++                            Const.layout const],
++                       empty)
++                   end
++              | _ => ()
++       in
++          Pat.Const const
++       end(*#line 4151.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, const1left, const1right), rest671)
++end
++|  ( 262, ( ( _, ( _, WILD1left, WILD1right)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => ((*#line 1166.34 "ml.grm"*)Pat.Wild(*#line 4173.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 2, ( result, WILD1left, WILD1right), rest671)
++end
++|  ( 263, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.pats pats1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (pats as pats1) = pats1 ()
++ in ((*#line 1167.34 "ml.grm"*)Pat.tuple (Vector.fromList pats)(*#line 4177.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 264, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( MlyValue.pats pats1, _, _)) :: ( _, ( _, LBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (pats as pats1) = pats1 ()
++ in ((*#line 1168.34 "ml.grm"*)Pat.List (Vector.fromList pats)(*#line 4183.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, LBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 265, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( MlyValue.pats pats1, _, _)) :: ( _, ( _, HASHLBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (pats as pats1) = pats1 ()
++ in ((*#line 1169.34 "ml.grm"*)Pat.Vector (Vector.fromList pats)(*#line 4189.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, HASHLBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 266, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => ((*#line 1170.34 "ml.grm"*)Pat.unit(*#line 4195.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 2, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 267, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.patitems patitems1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (patitems as patitems1) = patitems1 ()
++ in ((*#line 1172.8 "ml.grm"*)let
++          val (items, flexible) = patitems
++       in
++          Pat.Record {flexible = flexible,
++                      items = Vector.fromList items}
++       end(*#line 4199.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 268, ( rest671)) => let val  result = MlyValue.pats (fn _ => ((*#line 1179.9 "ml.grm"*)[](*#line 4210.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 81, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 269, ( ( _, ( MlyValue.commapats commapats1, _, commapats1right)) :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.pats (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (commapats as commapats1) = commapats1 ()
++ in ((*#line 1180.23 "ml.grm"*)pat :: commapats(*#line 4214.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 81, ( result, pat1left, commapats1right), rest671)
++end
++|  ( 270, ( ( _, ( MlyValue.cpat cpat1, cpat1left, cpat1right)) :: rest671)) => let val  result = MlyValue.barcpats (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ in ((*#line 1182.18 "ml.grm"*)[cpat](*#line 4221.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, cpat1left, cpat1right), rest671)
++end
++|  ( 271, ( ( _, ( MlyValue.barcpats barcpats1, _, barcpats1right)) :: _ :: ( _, ( MlyValue.cpat cpat1, cpat1left, _)) :: rest671)) => let val  result = MlyValue.barcpats (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ val  (barcpats as barcpats1) = barcpats1 ()
++ in ((*#line 1183.31 "ml.grm"*)cpat :: barcpats(*#line 4227.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, cpat1left, barcpats1right), rest671)
++end
++|  ( 272, ( rest671)) => let val  result = MlyValue.commapats (fn _ => ((*#line 1185.14 "ml.grm"*)[](*#line 4234.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 273, ( ( _, ( MlyValue.commapats commapats1, _, commapats1right)) :: ( _, ( MlyValue.pat pat1, _, _)) :: ( _, ( _, COMMA1left, _)) :: rest671)) => let val  result = MlyValue.commapats (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (commapats as commapats1) = commapats1 ()
++ in ((*#line 1186.34 "ml.grm"*)pat :: commapats(*#line 4238.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, COMMA1left, commapats1right), rest671)
++end
++|  ( 274, ( ( _, ( MlyValue.patitems patitems1, _, patitems1right)) :: _ :: ( _, ( MlyValue.patitem patitem1, patitem1left, _)) :: rest671)) => let val  result = MlyValue.patitems (fn _ => let val  (patitem as patitem1) = patitem1 ()
++ val  (patitems as patitems1) = patitems1 ()
++ in ((*#line 1188.37 "ml.grm"*)let val (items, f) = patitems
++                                    in (patitem :: items, f)
++                                    end(*#line 4245.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 80, ( result, patitem1left, patitems1right), rest671)
++end
++|  ( 275, ( ( _, ( MlyValue.patitem patitem1, patitem1left, patitem1right)) :: rest671)) => let val  result = MlyValue.patitems (fn _ => let val  (patitem as patitem1) = patitem1 ()
++ in ((*#line 1191.34 "ml.grm"*)[patitem], false(*#line 4254.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 80, ( result, patitem1left, patitem1right), rest671)
++end
++|  ( 276, ( ( _, ( _, DOTDOTDOT1left, DOTDOTDOT1right)) :: rest671)) => let val  result = MlyValue.patitems (fn _ => ((*#line 1192.34 "ml.grm"*)[], true(*#line 4260.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 80, ( result, DOTDOTDOT1left, DOTDOTDOT1right), rest671)
++end
++|  ( 277, ( ( _, ( MlyValue.pat pat1, _, pat1right)) :: _ :: ( _, ( MlyValue.field field1, (fieldleft as field1left), fieldright)) :: rest671)) => let val  result = MlyValue.patitem (fn _ => let val  (field as field1) = field1 ()
++ val  (pat as pat1) = pat1 ()
++ in ((*#line 1196.7 "ml.grm"*)(field, reg (fieldleft, fieldright), Pat.Item.Field pat)(*#line 4264.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 79, ( result, field1left, pat1right), rest671)
++end
++|  ( 278, ( ( _, ( MlyValue.opaspat opaspat1, _, opaspat1right)) :: ( _, ( MlyValue.constraint constraint1, _, _)) :: ( _, ( MlyValue.vid vid1, (vidleft as vid1left), vidright)) :: rest671)) => let val  result = MlyValue.patitem (fn _ => let val  (vid as vid1) = vid1 ()
++ val  (constraint as constraint1) = constraint1 ()
++ val  (opaspat as opaspat1) = opaspat1 ()
++ in ((*#line 1198.7 "ml.grm"*)Field.Symbol (Vid.toSymbol vid),
++      reg (vidleft, vidright),
++      Pat.Item.Vid (vid, constraint, opaspat)(*#line 4271.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 79, ( result, vid1left, opaspat1right), rest671)
++end
++|  ( 279, ( rest671)) => let val  result = MlyValue.opaspat (fn _ => ((*#line 1202.20 "ml.grm"*)NONE(*#line 4281.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 73, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 280, ( ( _, ( MlyValue.pat pat1, _, pat1right)) :: ( _, ( _, AS1left, _)) :: rest671)) => let val  result = MlyValue.opaspat (fn _ => let val  (pat as pat1) = pat1 ()
++ in ((*#line 1203.20 "ml.grm"*)SOME pat(*#line 4285.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 73, ( result, AS1left, pat1right), rest671)
++end
++|  ( 281, ( ( _, ( MlyValue.tynode tynode1, (tynodeleft as tynode1left), (tynoderight as tynode1right))) :: rest671)) => let val  result = MlyValue.ty (fn _ => let val  (tynode as tynode1) = tynode1 ()
++ in ((*#line 1209.14 "ml.grm"*)Type.makeRegion' (tynode, tynodeleft, tynoderight)(*#line 4291.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 136, ( result, tynode1left, tynode1right), rest671)
++end
++|  ( 282, ( ( _, ( MlyValue.tuple_ty tuple_ty1, tuple_ty1left, tuple_ty1right)) :: rest671)) => let val  result = MlyValue.tynode (fn _ => let val  (tuple_ty as tuple_ty1) = tuple_ty1 ()
++ in ((*#line 1211.26 "ml.grm"*)Type.tuple (Vector.fromList tuple_ty)(*#line 4297.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 142, ( result, tuple_ty1left, tuple_ty1right), rest671)
++end
++|  ( 283, ( ( _, ( MlyValue.ty ty2, _, ty2right)) :: _ :: ( _, ( MlyValue.ty ty1, ty1left, _)) :: rest671)) => let val  result = MlyValue.tynode (fn _ => let val  ty1 = ty1 ()
++ val  ty2 = ty2 ()
++ in ((*#line 1212.26 "ml.grm"*)Type.arrow (ty1, ty2)(*#line 4303.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 142, ( result, ty1left, ty2right), rest671)
++end
++|  ( 284, ( ( _, ( MlyValue.ty'node ty'node1, ty'node1left, ty'node1right)) :: rest671)) => let val  result = MlyValue.tynode (fn _ => let val  (ty'node as ty'node1) = ty'node1 ()
++ in ((*#line 1213.26 "ml.grm"*)ty'node(*#line 4310.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 142, ( result, ty'node1left, ty'node1right), rest671)
++end
++|  ( 285, ( ( _, ( MlyValue.ty'node ty'node1, (ty'nodeleft as ty'node1left), (ty'noderight as ty'node1right))) :: rest671)) => let val  result = MlyValue.ty' (fn _ => let val  (ty'node as ty'node1) = ty'node1 ()
++ in ((*#line 1215.16 "ml.grm"*)Type.makeRegion' (ty'node, ty'nodeleft, ty'noderight)(*#line 4316.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 137, ( result, ty'node1left, ty'node1right), rest671)
++end
++|  ( 286, ( ( _, ( MlyValue.tyvar tyvar1, tyvar1left, tyvar1right)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (tyvar as tyvar1) = tyvar1 ()
++ in ((*#line 1217.44 "ml.grm"*)Type.Var tyvar(*#line 4322.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, tyvar1left, tyvar1right), rest671)
++end
++|  ( 287, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.tlabels tlabels1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (tlabels as tlabels1) = tlabels1 ()
++ in ((*#line 1219.12 "ml.grm"*)Type.Record (Record.fromVector (Vector.fromList tlabels))(*#line 4328.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 288, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => ((*#line 1220.44 "ml.grm"*)Type.unit(*#line 4334.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 138, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 289, ( ( _, ( MlyValue.longtycon longtycon1, _, longtycon1right)) :: _ :: ( _, ( MlyValue.ty0_pc ty0_pc1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (ty0_pc as ty0_pc1) = ty0_pc1 ()
++ val  (longtycon as longtycon1) = longtycon1 ()
++ in ((*#line 1221.44 "ml.grm"*)Type.Con (longtycon,
++                                                     Vector.fromList ty0_pc)(*#line 4338.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, LPAREN1left, longtycon1right), rest671)
++end
++|  ( 290, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 1223.44 "ml.grm"*)Type.Paren ty(*#line 4346.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 291, ( ( _, ( MlyValue.longtycon longtycon1, _, longtycon1right)) :: ( _, ( MlyValue.ty' ty'1, ty'1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (ty' as ty'1) = ty'1 ()
++ val  (longtycon as longtycon1) = longtycon1 ()
++ in ((*#line 1224.44 "ml.grm"*)Type.Con (longtycon,
++                                                     Vector.new1 ty')(*#line 4352.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, ty'1left, longtycon1right), rest671)
++end
++|  ( 292, ( ( _, ( MlyValue.longtycon longtycon1, longtycon1left, longtycon1right)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (longtycon as longtycon1) = longtycon1 ()
++ in ((*#line 1226.44 "ml.grm"*)Type.Con (longtycon,
++                                                     Vector.new0 ())(*#line 4360.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, longtycon1left, longtycon1right), rest671)
++end
++|  ( 293, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.field field1, (fieldleft as field1left), fieldright)) :: rest671)) => let val  result = MlyValue.tlabel (fn _ => let val  (field as field1) = field1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1229.34 "ml.grm"*)field, (reg (fieldleft, fieldright), ty)(*#line 4367.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 130, ( result, field1left, ty1right), rest671)
++end
++|  ( 294, ( ( _, ( MlyValue.tlabels tlabels1, _, tlabels1right)) :: _ :: ( _, ( MlyValue.tlabel tlabel1, tlabel1left, _)) :: rest671)) => let val  result = MlyValue.tlabels (fn _ => let val  (tlabel as tlabel1) = tlabel1 ()
++ val  (tlabels as tlabels1) = tlabels1 ()
++ in ((*#line 1231.34 "ml.grm"*)tlabel :: tlabels(*#line 4374.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 131, ( result, tlabel1left, tlabels1right), rest671)
++end
++|  ( 295, ( ( _, ( MlyValue.tlabel tlabel1, tlabel1left, tlabel1right)) :: rest671)) => let val  result = MlyValue.tlabels (fn _ => let val  (tlabel as tlabel1) = tlabel1 ()
++ in ((*#line 1232.34 "ml.grm"*)[tlabel](*#line 4381.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 131, ( result, tlabel1left, tlabel1right), rest671)
++end
++|  ( 296, ( ( _, ( MlyValue.tuple_ty tuple_ty1, _, tuple_ty1right)) :: _ :: ( _, ( MlyValue.ty' ty'1, ty'1left, _)) :: rest671)) => let val  result = MlyValue.tuple_ty (fn _ => let val  (ty' as ty'1) = ty'1 ()
++ val  (tuple_ty as tuple_ty1) = tuple_ty1 ()
++ in ((*#line 1234.42 "ml.grm"*)ty' :: tuple_ty(*#line 4387.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 135, ( result, ty'1left, tuple_ty1right), rest671)
++end
++|  ( 297, ( ( _, ( MlyValue.ty' ty'2, _, ty'2right)) :: _ :: ( _, ( MlyValue.ty' ty'1, ty'1left, _)) :: rest671)) => let val  result = MlyValue.tuple_ty (fn _ => let val  ty'1 = ty'1 ()
++ val  ty'2 = ty'2 ()
++ in ((*#line 1235.42 "ml.grm"*)[ty'1, ty'2](*#line 4394.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 135, ( result, ty'1left, ty'2right), rest671)
++end
++|  ( 298, ( ( _, ( MlyValue.ty ty2, _, ty2right)) :: _ :: ( _, ( MlyValue.ty ty1, ty1left, _)) :: rest671)) => let val  result = MlyValue.ty0_pc (fn _ => let val  ty1 = ty1 ()
++ val  ty2 = ty2 ()
++ in ((*#line 1237.34 "ml.grm"*)[ty1, ty2](*#line 4401.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 139, ( result, ty1left, ty2right), rest671)
++end
++|  ( 299, ( ( _, ( MlyValue.ty0_pc ty0_pc1, _, ty0_pc1right)) :: _ :: ( _, ( MlyValue.ty ty1, ty1left, _)) :: rest671)) => let val  result = MlyValue.ty0_pc (fn _ => let val  (ty as ty1) = ty1 ()
++ val  (ty0_pc as ty0_pc1) = ty0_pc1 ()
++ in ((*#line 1238.34 "ml.grm"*)ty :: ty0_pc(*#line 4408.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 139, ( result, ty1left, ty0_pc1right), rest671)
++end
++|  ( 300, ( rest671)) => let val  result = MlyValue.optbar (fn _ => ((*#line 1245.19 "ml.grm"*)(*#line 4415.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 75, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 301, ( ( _, ( MlyValue.optbar' optbar'1, optbar'1left, optbar'1right)) :: rest671)) => let val  result = MlyValue.optbar (fn _ => let val  optbar'1 = optbar'1 ()
++ in ((*#line 1246.19 "ml.grm"*)(*#line 4419.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 75, ( result, optbar'1left, optbar'1right), rest671)
++end
++|  ( 302, ( ( _, ( _, (BARleft as BAR1left), (BARright as BAR1right))) :: rest671)) => let val  result = MlyValue.optbar' (fn _ => ((*#line 1249.19 "ml.grm"*)if allowOptBar ()
++                    then ()
++                    else error (reg (BARleft, BARright), "Optional bar disallowed, compile with -default-ann 'allowOptBar true'")(*#line 4425.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 76, ( result, BAR1left, BAR1right), rest671)
++end
++|  ( 303, ( rest671)) => let val  result = MlyValue.optsemicolon (fn _ => ((*#line 1254.19 "ml.grm"*)(*#line 4431.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 77, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 304, ( ( _, ( _, (SEMICOLONleft as SEMICOLON1left), (SEMICOLONright as SEMICOLON1right))) :: rest671)) => let val  result = MlyValue.optsemicolon (fn _ => ((*#line 1255.19 "ml.grm"*)if allowOptSemicolon ()
++                    then ()
++                    else error (reg (SEMICOLONleft, SEMICOLONright), "Optional semicolon disallowed, compile with -default-ann 'allowOptSemicolon true'")(*#line 4435.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 77, ( result, SEMICOLON1left, SEMICOLON1right), rest671)
++end
++|  ( 305, ( ( _, ( MlyValue.const const1, const1left, const1right)) :: rest671)) => let val  result = MlyValue.constOrBool (fn _ => let val  (const as const1) = const1 ()
++ in ((*#line 1260.13 "ml.grm"*)const(*#line 4441.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 18, ( result, const1left, const1right), rest671)
++end
++|  ( 306, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.constOrBool (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1262.10 "ml.grm"*)let
++            fun ok b = Const.makeRegion (Const.Bool b, #2 shortAlphanumId)
++         in            
++            case Symbol.toString (#1 shortAlphanumId) of
++               "false" => ok false
++             | "true" => ok true
++             | s => (error (#2 shortAlphanumId, concat ["unknown boolean constant: ", s])
++                     ; ok false)
++         end(*#line 4447.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 18, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 307, ( ( _, ( MlyValue.const' const'1, (const'left as const'1left), (const'right as const'1right))) :: rest671)) => let val  result = MlyValue.const (fn _ => let val  (const' as const'1) = const'1 ()
++ in ((*#line 1272.34 "ml.grm"*)Const.makeRegion
++                                 (const', reg (const'left, const'right))(*#line 4461.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 13, ( result, const'1left, const'1right), rest671)
++end
++|  ( 308, ( ( _, ( MlyValue.int int1, int1left, int1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (int as int1) = int1 ()
++ in ((*#line 1275.34 "ml.grm"*)Const.Int int(*#line 4468.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, int1left, int1right), rest671)
++end
++|  ( 309, ( ( _, ( MlyValue.word word1, word1left, word1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (word as word1) = word1 ()
++ in ((*#line 1276.34 "ml.grm"*)Const.Word word(*#line 4474.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, word1left, word1right), rest671)
++end
++|  ( 310, ( ( _, ( MlyValue.REAL REAL1, REAL1left, REAL1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (REAL as REAL1) = REAL1 ()
++ in ((*#line 1277.34 "ml.grm"*)Const.Real REAL(*#line 4480.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, REAL1left, REAL1right), rest671)
++end
++|  ( 311, ( ( _, ( MlyValue.STRING STRING1, STRING1left, STRING1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (STRING as STRING1) = STRING1 ()
++ in ((*#line 1278.34 "ml.grm"*)Const.String STRING(*#line 4486.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, STRING1left, STRING1right), rest671)
++end
++|  ( 312, ( ( _, ( MlyValue.CHAR CHAR1, CHAR1left, CHAR1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (CHAR as CHAR1) = CHAR1 ()
++ in ((*#line 1279.34 "ml.grm"*)Const.Char CHAR(*#line 4492.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, CHAR1left, CHAR1right), rest671)
++end
++|  ( 313, ( ( _, ( MlyValue.STRING STRING1, STRING1left, STRING1right)) :: rest671)) => let val  result = MlyValue.string (fn _ => let val  (STRING as STRING1) = STRING1 ()
++ in ((*#line 1281.19 "ml.grm"*)CharVector.tabulate
++                  (Vector.length STRING, fn i =>
++                   Char.fromInt (Int.fromIntInf (Vector.sub (STRING, i))))(*#line 4498.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 125, ( result, STRING1left, STRING1right), rest671)
++end
++|  ( 314, ( ( _, ( MlyValue.SHORTALPHANUMID SHORTALPHANUMID1, (SHORTALPHANUMIDleft as SHORTALPHANUMID1left), (SHORTALPHANUMIDright as SHORTALPHANUMID1right))) :: rest671)) => let val  result = MlyValue.shortAlphanumId (fn _ => let val  (SHORTALPHANUMID as SHORTALPHANUMID1) = SHORTALPHANUMID1 ()
++ in ((*#line 1288.6 "ml.grm"*)shortIdFromTok (SHORTALPHANUMID, SHORTALPHANUMIDleft, SHORTALPHANUMIDright)(*#line 4506.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 92, ( result, SHORTALPHANUMID1left, SHORTALPHANUMID1right), rest671)
++end
++|  ( 315, ( ( _, ( MlyValue.SHORTSYMID SHORTSYMID1, (SHORTSYMIDleft as SHORTSYMID1left), (SHORTSYMIDright as SHORTSYMID1right))) :: rest671)) => let val  result = MlyValue.shortSymId (fn _ => let val  (SHORTSYMID as SHORTSYMID1) = SHORTSYMID1 ()
++ in ((*#line 1291.6 "ml.grm"*)shortIdFromTok (SHORTSYMID, SHORTSYMIDleft, SHORTSYMIDright)(*#line 4512.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 93, ( result, SHORTSYMID1left, SHORTSYMID1right), rest671)
++end
++|  ( 316, ( ( _, ( MlyValue.LONGALPHANUMID LONGALPHANUMID1, (LONGALPHANUMIDleft as LONGALPHANUMID1left), (LONGALPHANUMIDright as LONGALPHANUMID1right))) :: rest671)) => let val  result = MlyValue.longAlphanumId (fn _ => let val  (LONGALPHANUMID as LONGALPHANUMID1) = LONGALPHANUMID1 ()
++ in ((*#line 1294.6 "ml.grm"*)longIdFromTok (LONGALPHANUMID, LONGALPHANUMIDleft, LONGALPHANUMIDright)(*#line 4518.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 60, ( result, LONGALPHANUMID1left, LONGALPHANUMID1right), rest671)
++end
++|  ( 317, ( ( _, ( MlyValue.LONGSYMID LONGSYMID1, (LONGSYMIDleft as LONGSYMID1left), (LONGSYMIDright as LONGSYMID1right))) :: rest671)) => let val  result = MlyValue.longSymId (fn _ => let val  (LONGSYMID as LONGSYMID1) = LONGSYMID1 ()
++ in ((*#line 1297.6 "ml.grm"*)longIdFromTok (LONGSYMID, LONGSYMIDleft, LONGSYMIDright)(*#line 4524.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 61, ( result, LONGSYMID1left, LONGSYMID1right), rest671)
++end
++|  ( 318, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.vidNoEqual (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1299.32 "ml.grm"*)Vid.fromSymbol shortAlphanumId(*#line 4530.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 156, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 319, ( ( _, ( MlyValue.shortSymId shortSymId1, shortSymId1left, shortSymId1right)) :: rest671)) => let val  result = MlyValue.vidNoEqual (fn _ => let val  (shortSymId as shortSymId1) = shortSymId1 ()
++ in ((*#line 1300.32 "ml.grm"*)Vid.fromSymbol shortSymId(*#line 4536.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 156, ( result, shortSymId1left, shortSymId1right), rest671)
++end
++|  ( 320, ( ( _, ( _, (ASTERISKleft as ASTERISK1left), (ASTERISKright as ASTERISK1right))) :: rest671)) => let val  result = MlyValue.vidNoEqual (fn _ => ((*#line 1301.32 "ml.grm"*)Vid.fromSymbol (Symbol.asterisk,
++                                               reg (ASTERISKleft, ASTERISKright))(*#line 4542.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 156, ( result, ASTERISK1left, ASTERISK1right), rest671)
++end
++|  ( 321, ( ( _, ( _, (EQUALOPleft as EQUALOP1left), (EQUALOPright as EQUALOP1right))) :: rest671)) => let val  result = MlyValue.vidEqual (fn _ => ((*#line 1303.32 "ml.grm"*)Vid.fromSymbol (Symbol.equal,
++                                               reg (EQUALOPleft, EQUALOPright))(*#line 4547.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 155, ( result, EQUALOP1left, EQUALOP1right), rest671)
++end
++|  ( 322, ( ( _, ( MlyValue.vidNoEqual vidNoEqual1, vidNoEqual1left, vidNoEqual1right)) :: rest671)) => let val  result = MlyValue.vid (fn _ => let val  (vidNoEqual as vidNoEqual1) = vidNoEqual1 ()
++ in ((*#line 1305.20 "ml.grm"*)vidNoEqual(*#line 4552.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 154, ( result, vidNoEqual1left, vidNoEqual1right), rest671)
++end
++|  ( 323, ( ( _, ( MlyValue.vidEqual vidEqual1, vidEqual1left, vidEqual1right)) :: rest671)) => let val  result = MlyValue.vid (fn _ => let val  (vidEqual as vidEqual1) = vidEqual1 ()
++ in ((*#line 1306.20 "ml.grm"*)vidEqual(*#line 4558.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 154, ( result, vidEqual1left, vidEqual1right), rest671)
++end
++|  ( 324, ( ( _, ( MlyValue.vidNoEqual vidNoEqual1, vidNoEqual1left, vidNoEqual1right)) :: rest671)) => let val  result = MlyValue.longvidNoEqual (fn _ => let val  (vidNoEqual as vidNoEqual1) = vidNoEqual1 ()
++ in ((*#line 1307.35 "ml.grm"*)Longvid.short vidNoEqual(*#line 4564.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 69, ( result, vidNoEqual1left, vidNoEqual1right), rest671)
++end
++|  ( 325, ( ( _, ( MlyValue.longAlphanumId longAlphanumId1, longAlphanumId1left, longAlphanumId1right)) :: rest671)) => let val  result = MlyValue.longvidNoEqual (fn _ => let val  (longAlphanumId as longAlphanumId1) = longAlphanumId1 ()
++ in ((*#line 1308.35 "ml.grm"*)Longvid.fromSymbols longAlphanumId(*#line 4570.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 69, ( result, longAlphanumId1left, longAlphanumId1right), rest671)
++end
++|  ( 326, ( ( _, ( MlyValue.longSymId longSymId1, longSymId1left, longSymId1right)) :: rest671)) => let val  result = MlyValue.longvidNoEqual (fn _ => let val  (longSymId as longSymId1) = longSymId1 ()
++ in ((*#line 1309.35 "ml.grm"*)Longvid.fromSymbols longSymId(*#line 4576.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 69, ( result, longSymId1left, longSymId1right), rest671)
++end
++|  ( 327, ( ( _, ( MlyValue.vidEqual vidEqual1, vidEqual1left, vidEqual1right)) :: rest671)) => let val  result = MlyValue.longvidEqual (fn _ => let val  (vidEqual as vidEqual1) = vidEqual1 ()
++ in ((*#line 1310.33 "ml.grm"*)Longvid.short vidEqual(*#line 4582.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 68, ( result, vidEqual1left, vidEqual1right), rest671)
++end
++|  ( 328, ( ( _, ( MlyValue.longvidNoEqual longvidNoEqual1, longvidNoEqual1left, longvidNoEqual1right)) :: rest671)) => let val  result = MlyValue.longvid (fn _ => let val  (longvidNoEqual as longvidNoEqual1) = longvidNoEqual1 ()
++ in ((*#line 1311.28 "ml.grm"*)longvidNoEqual(*#line 4588.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 67, ( result, longvidNoEqual1left, longvidNoEqual1right), rest671)
++end
++|  ( 329, ( ( _, ( MlyValue.longvidEqual longvidEqual1, longvidEqual1left, longvidEqual1right)) :: rest671)) => let val  result = MlyValue.longvid (fn _ => let val  (longvidEqual as longvidEqual1) = longvidEqual1 ()
++ in ((*#line 1312.28 "ml.grm"*)longvidEqual(*#line 4594.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 67, ( result, longvidEqual1left, longvidEqual1right), rest671)
++end
++|  ( 330, ( ( _, ( MlyValue.vid vid1, vid1left, vid1right)) :: rest671)) => let val  result = MlyValue.con (fn _ => let val  (vid as vid1) = vid1 ()
++ in ((*#line 1314.13 "ml.grm"*)Vid.toCon vid(*#line 4600.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 12, ( result, vid1left, vid1right), rest671)
++end
++|  ( 331, ( ( _, ( MlyValue.longvid longvid1, longvid1left, longvid1right)) :: rest671)) => let val  result = MlyValue.longcon (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 1315.21 "ml.grm"*)Longvid.toLongcon longvid(*#line 4606.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 59, ( result, longvid1left, longvid1right), rest671)
++end
++|  ( 332, ( ( _, ( MlyValue.TYVAR TYVAR1, (TYVARleft as TYVAR1left), (TYVARright as TYVAR1right))) :: rest671)) => let val  result = MlyValue.tyvar (fn _ => let val  (TYVAR as TYVAR1) = TYVAR1 ()
++ in ((*#line 1317.17 "ml.grm"*)Tyvar.fromSymbol (Symbol.fromString TYVAR, reg (TYVARleft, TYVARright))(*#line 4612.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 146, ( result, TYVAR1left, TYVAR1right), rest671)
++end
++|  ( 333, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.tycon (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1319.27 "ml.grm"*)Tycon.fromSymbol shortAlphanumId(*#line 4618.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 141, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 334, ( ( _, ( MlyValue.shortSymId shortSymId1, shortSymId1left, shortSymId1right)) :: rest671)) => let val  result = MlyValue.tycon (fn _ => let val  (shortSymId as shortSymId1) = shortSymId1 ()
++ in ((*#line 1320.27 "ml.grm"*)Tycon.fromSymbol shortSymId(*#line 4624.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 141, ( result, shortSymId1left, shortSymId1right), rest671)
++end
++|  ( 335, ( ( _, ( MlyValue.tycon tycon1, tycon1left, tycon1right)) :: rest671)) => let val  result = MlyValue.longtycon (fn _ => let val  (tycon as tycon1) = tycon1 ()
++ in ((*#line 1321.30 "ml.grm"*)Longtycon.short tycon(*#line 4630.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 65, ( result, tycon1left, tycon1right), rest671)
++end
++|  ( 336, ( ( _, ( MlyValue.longAlphanumId longAlphanumId1, longAlphanumId1left, longAlphanumId1right)) :: rest671)) => let val  result = MlyValue.longtycon (fn _ => let val  (longAlphanumId as longAlphanumId1) = longAlphanumId1 ()
++ in ((*#line 1322.30 "ml.grm"*)Longtycon.fromSymbols longAlphanumId(*#line 4636.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 65, ( result, longAlphanumId1left, longAlphanumId1right), rest671)
++end
++|  ( 337, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.idField (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1324.29 "ml.grm"*)shortAlphanumId(*#line 4642.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 57, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 338, ( ( _, ( MlyValue.shortSymId shortSymId1, shortSymId1left, shortSymId1right)) :: rest671)) => let val  result = MlyValue.idField (fn _ => let val  (shortSymId as shortSymId1) = shortSymId1 ()
++ in ((*#line 1325.29 "ml.grm"*)shortSymId(*#line 4648.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 57, ( result, shortSymId1left, shortSymId1right), rest671)
++end
++|  ( 339, ( ( _, ( _, (ASTERISKleft as ASTERISK1left), (ASTERISKright as ASTERISK1right))) :: rest671)) => let val  result = MlyValue.idField (fn _ => ((*#line 1326.29 "ml.grm"*)(Symbol.asterisk,
++                             reg (ASTERISKleft, ASTERISKright))(*#line 4654.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 57, ( result, ASTERISK1left, ASTERISK1right), rest671)
++end
++|  ( 340, ( ( _, ( MlyValue.idField idField1, idField1left, idField1right)) :: rest671)) => let val  result = MlyValue.field (fn _ => let val  (idField as idField1) = idField1 ()
++ in ((*#line 1328.29 "ml.grm"*)Field.Symbol (#1 idField)(*#line 4659.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 49, ( result, idField1left, idField1right), rest671)
++end
++|  ( 341, ( ( _, ( MlyValue.numericField numericField1, numericField1left, numericField1right)) :: rest671)) => let val  result = MlyValue.field (fn _ => let val  (numericField as numericField1) = numericField1 ()
++ in ((*#line 1329.29 "ml.grm"*)Field.Int (numericField - 1)(*#line 4665.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 49, ( result, numericField1left, numericField1right), rest671)
++end
++|  ( 342, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.strid (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1331.27 "ml.grm"*)Strid.fromSymbol shortAlphanumId(*#line 4671.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 124, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 343, ( ( _, ( MlyValue.strid strid1, strid1left, strid1right)) :: rest671)) => let val  result = MlyValue.longstrid (fn _ => let val  (strid as strid1) = strid1 ()
++ in ((*#line 1332.30 "ml.grm"*)Longstrid.short strid(*#line 4677.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 62, ( result, strid1left, strid1right), rest671)
++end
++|  ( 344, ( ( _, ( MlyValue.longAlphanumId longAlphanumId1, longAlphanumId1left, longAlphanumId1right)) :: rest671)) => let val  result = MlyValue.longstrid (fn _ => let val  (longAlphanumId as longAlphanumId1) = longAlphanumId1 ()
++ in ((*#line 1333.30 "ml.grm"*)Longstrid.fromSymbols longAlphanumId(*#line 4683.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 62, ( result, longAlphanumId1left, longAlphanumId1right), rest671)
++end
++|  ( 345, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.sigid (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1335.27 "ml.grm"*)Sigid.fromSymbol shortAlphanumId(*#line 4689.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 102, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 346, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.fctid (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1336.27 "ml.grm"*)Fctid.fromSymbol shortAlphanumId(*#line 4695.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 48, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 347, ( ( _, ( MlyValue.vid vid1, vid1left, vid1right)) :: rest671)) => let val  result = MlyValue.vids (fn _ => let val  (vid as vid1) = vid1 ()
++ in ((*#line 1338.33 "ml.grm"*)[vid](*#line 4701.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 157, ( result, vid1left, vid1right), rest671)
++end
++|  ( 348, ( ( _, ( MlyValue.vids vids1, _, vids1right)) :: ( _, ( MlyValue.vid vid1, vid1left, _)) :: rest671)) => let val  result = MlyValue.vids (fn _ => let val  (vid as vid1) = vid1 ()
++ val  (vids as vids1) = vids1 ()
++ in ((*#line 1339.33 "ml.grm"*)vid::vids(*#line 4707.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 157, ( result, vid1left, vids1right), rest671)
++end
++|  ( 349, ( ( _, ( MlyValue.sigid sigid1, sigid1left, sigid1right)) :: rest671)) => let val  result = MlyValue.sigids (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ in ((*#line 1341.33 "ml.grm"*)[sigid](*#line 4714.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 103, ( result, sigid1left, sigid1right), rest671)
++end
++|  ( 350, ( ( _, ( MlyValue.sigids sigids1, _, sigids1right)) :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigids (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigids as sigids1) = sigids1 ()
++ in ((*#line 1342.33 "ml.grm"*)sigid :: sigids(*#line 4720.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 103, ( result, sigid1left, sigids1right), rest671)
++end
++|  ( 351, ( ( _, ( MlyValue.longstrid longstrid1, longstrid1left, longstrid1right)) :: rest671)) => let val  result = MlyValue.longstrids (fn _ => let val  (longstrid as longstrid1) = longstrid1 ()
++ in ((*#line 1344.37 "ml.grm"*)[longstrid](*#line 4727.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 64, ( result, longstrid1left, longstrid1right), rest671)
++end
++|  ( 352, ( ( _, ( MlyValue.longstrids longstrids1, _, longstrids1right)) :: ( _, ( MlyValue.longstrid longstrid1, longstrid1left, _)) :: rest671)) => let val  result = MlyValue.longstrids (fn _ => let val  (longstrid as longstrid1) = longstrid1 ()
++ val  (longstrids as longstrids1) = longstrids1 ()
++ in ((*#line 1345.37 "ml.grm"*)longstrid :: longstrids(*#line 4733.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 64, ( result, longstrid1left, longstrids1right), rest671)
++end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID
++val extract = fn a => (fn MlyValue.program x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a ()
++end
++end
++structure Tokens : ML_TOKENS =
++struct
++type svalue = ParserData.svalue
++type ('a,'b) token = ('a,'b) Token.token
++fun CHAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(ParserData.MlyValue.CHAR (fn () => i),p1,p2))
++fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(ParserData.MlyValue.INT (fn () => i),p1,p2))
++fun SHORTALPHANUMID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(ParserData.MlyValue.SHORTALPHANUMID (fn () => i),p1,p2))
++fun SHORTSYMID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(ParserData.MlyValue.SHORTSYMID (fn () => i),p1,p2))
++fun LONGALPHANUMID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(ParserData.MlyValue.LONGALPHANUMID (fn () => i),p1,p2))
++fun LONGSYMID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(ParserData.MlyValue.LONGSYMID (fn () => i),p1,p2))
++fun REAL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(ParserData.MlyValue.REAL (fn () => i),p1,p2))
++fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(ParserData.MlyValue.STRING (fn () => i),p1,p2))
++fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(ParserData.MlyValue.TYVAR (fn () => i),p1,p2))
++fun WORD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(ParserData.MlyValue.WORD (fn () => i),p1,p2))
++fun ABSTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(ParserData.MlyValue.VOID,p1,p2))
++fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(ParserData.MlyValue.VOID,p1,p2))
++fun ANDALSO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(ParserData.MlyValue.VOID,p1,p2))
++fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(ParserData.MlyValue.VOID,p1,p2))
++fun AS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(ParserData.MlyValue.VOID,p1,p2))
++fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(ParserData.MlyValue.VOID,p1,p2))
++fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(ParserData.MlyValue.VOID,p1,p2))
++fun CASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(ParserData.MlyValue.VOID,p1,p2))
++fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(ParserData.MlyValue.VOID,p1,p2))
++fun COLONGT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(ParserData.MlyValue.VOID,p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(ParserData.MlyValue.VOID,p1,p2))
++fun DATATYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(ParserData.MlyValue.VOID,p1,p2))
++fun DOTDOTDOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(ParserData.MlyValue.VOID,p1,p2))
++fun ELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(ParserData.MlyValue.VOID,p1,p2))
++fun END (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(ParserData.MlyValue.VOID,p1,p2))
++fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(ParserData.MlyValue.VOID,p1,p2))
++fun EQUALOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(ParserData.MlyValue.VOID,p1,p2))
++fun EQTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(ParserData.MlyValue.VOID,p1,p2))
++fun EXCEPTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(ParserData.MlyValue.VOID,p1,p2))
++fun DO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(ParserData.MlyValue.VOID,p1,p2))
++fun DARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(ParserData.MlyValue.VOID,p1,p2))
++fun FN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(ParserData.MlyValue.VOID,p1,p2))
++fun FUN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(ParserData.MlyValue.VOID,p1,p2))
++fun FUNCTOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(ParserData.MlyValue.VOID,p1,p2))
++fun HANDLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(ParserData.MlyValue.VOID,p1,p2))
++fun HASH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(ParserData.MlyValue.VOID,p1,p2))
++fun HASHLBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(ParserData.MlyValue.VOID,p1,p2))
++fun IF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(ParserData.MlyValue.VOID,p1,p2))
++fun IN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(ParserData.MlyValue.VOID,p1,p2))
++fun INCLUDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(ParserData.MlyValue.VOID,p1,p2))
++fun INFIX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(ParserData.MlyValue.VOID,p1,p2))
++fun INFIXR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(ParserData.MlyValue.VOID,p1,p2))
++fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(ParserData.MlyValue.VOID,p1,p2))
++fun LBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(ParserData.MlyValue.VOID,p1,p2))
++fun LET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(ParserData.MlyValue.VOID,p1,p2))
++fun LOCAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(ParserData.MlyValue.VOID,p1,p2))
++fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(ParserData.MlyValue.VOID,p1,p2))
++fun NONFIX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(ParserData.MlyValue.VOID,p1,p2))
++fun ORELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(ParserData.MlyValue.VOID,p1,p2))
++fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(ParserData.MlyValue.VOID,p1,p2))
++fun OP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(ParserData.MlyValue.VOID,p1,p2))
++fun OPEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(ParserData.MlyValue.VOID,p1,p2))
++fun OVERLOAD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(ParserData.MlyValue.VOID,p1,p2))
++fun RAISE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(ParserData.MlyValue.VOID,p1,p2))
++fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(ParserData.MlyValue.VOID,p1,p2))
++fun RBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(ParserData.MlyValue.VOID,p1,p2))
++fun REC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(ParserData.MlyValue.VOID,p1,p2))
++fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(ParserData.MlyValue.VOID,p1,p2))
++fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(ParserData.MlyValue.VOID,p1,p2))
++fun SHARING (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(ParserData.MlyValue.VOID,p1,p2))
++fun SIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(ParserData.MlyValue.VOID,p1,p2))
++fun SIGNATURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(ParserData.MlyValue.VOID,p1,p2))
++fun STRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(ParserData.MlyValue.VOID,p1,p2))
++fun STRUCTURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(ParserData.MlyValue.VOID,p1,p2))
++fun THEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(ParserData.MlyValue.VOID,p1,p2))
++fun TYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(ParserData.MlyValue.VOID,p1,p2))
++fun VAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(ParserData.MlyValue.VOID,p1,p2))
++fun WHERE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(ParserData.MlyValue.VOID,p1,p2))
++fun WHILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(ParserData.MlyValue.VOID,p1,p2))
++fun WILD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(ParserData.MlyValue.VOID,p1,p2))
++fun WITH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(ParserData.MlyValue.VOID,p1,p2))
++fun WITHTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(ParserData.MlyValue.VOID,p1,p2))
++fun BUILD_CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(ParserData.MlyValue.VOID,p1,p2))
++fun COMMAND_LINE_CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(ParserData.MlyValue.VOID,p1,p2))
++fun CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(ParserData.MlyValue.VOID,p1,p2))
++fun ADDRESS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(ParserData.MlyValue.VOID,p1,p2))
++fun EXPORT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(ParserData.MlyValue.VOID,p1,p2))
++fun IMPORT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(ParserData.MlyValue.VOID,p1,p2))
++fun SYMBOL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(ParserData.MlyValue.VOID,p1,p2))
++fun PRIM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(ParserData.MlyValue.VOID,p1,p2))
++fun SHOW_BASIS (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(ParserData.MlyValue.SHOW_BASIS (fn () => i),p1,p2))
++end
++end
+diff --git a/mlton/front-end/ml.lex.sml.boot b/mlton/front-end/ml.lex.sml.boot
+new file mode 100644
+index 000000000..9d3dda7af
+--- /dev/null
++++ b/mlton/front-end/ml.lex.sml.boot
+@@ -0,0 +1,10996 @@
++(*#line 256.10 "ml.lex"*)functor MLLexFun (structure Tokens : ML_TOKENS)(*#line 1.1 "ml.lex.sml"*)
++=
++   struct
++    structure UserDeclarations =
++      struct
++(*#line 1.1 "ml.lex"*)(* Heavily modified from SML/NJ sources. *)
++
++(* ml.lex
++ *
++ * Copyright 1989 by AT&T Bell Laboratories
++ *
++ * SML/NJ is released under a HPND-style license.
++ * See the file NJ-LICENSE for details.
++ *)
++
++(* Copyright (C) 2009,2016-2017 Matthew Fluet.
++ * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
++ *    Jagannathan, and Stephen Weeks.
++ * Copyright (C) 1997-2000 NEC Research Institute.
++ *
++ * MLton is released under a HPND-style license.
++ * See the file MLton-LICENSE for details.
++ *)
++
++type svalue = Tokens.svalue
++type pos = SourcePos.t
++type lexresult = (svalue, pos) Tokens.token
++type lexarg = {source: Source.t}
++type arg = lexarg
++type ('a,'b) token = ('a,'b) Tokens.token
++
++local
++   open Control.Elaborate
++in
++   val allowLineComments = fn () => current allowLineComments
++   val allowExtendedNumConsts = fn () => current allowExtendedNumConsts
++   val allowExtendedTextConsts = fn () => current allowExtendedTextConsts
++end
++
++fun lastPos (yypos, yytext) = yypos + size yytext - 1
++
++fun tok (t, x, s, l) =
++   let
++      val left = Source.getPos (s, l)
++      val right = Source.getPos (s, lastPos (l, x))
++   in
++      t (left, right)
++   end
++
++fun tok' (t, x, s, l) = tok (fn (l, r) => t (x, l, r), x, s, l)
++
++fun error' (left, right, msg) =
++   Control.errorStr (Region.make {left = left, right = right}, msg)
++fun error (source, left, right, msg) =
++   error' (Source.getPos (source, left), Source.getPos (source, right), msg)
++
++
++(* Comments *)
++local
++   val commentErrors: string list ref = ref []
++   val commentLeft = ref SourcePos.bogus
++   val commentStack: (int -> unit) list ref = ref []
++in
++   fun addCommentError msg =
++      List.push (commentErrors, msg)
++   val inComment = fn () => not (List.isEmpty (!commentStack))
++   fun startComment (source, yypos, th) =
++      if inComment ()
++         then List.push (commentStack, fn _ => th ())
++         else (commentErrors := []
++               ; commentLeft := Source.getPos (source, yypos)
++               ; List.push (commentStack, fn yypos =>
++                            (List.foreach (!commentErrors, fn msg =>
++                                           error' (!commentLeft,
++                                                   Source.getPos (source, yypos),
++                                                   msg))
++                             ; th ())))
++   fun finishComment yypos =
++      (List.pop commentStack) yypos
++end
++
++
++(* Line Directives *)
++local
++   val lineDirCol: int ref = ref ~1
++   val lineDirFile: File.t option ref = ref NONE
++   val lineDirLine: int ref = ref ~1
++in
++   fun startLineDir (source, yypos, th) =
++      let
++         val _ = lineDirCol := ~1
++         val _ = lineDirFile := NONE
++         val _ = lineDirLine := ~1
++      in
++         startComment (source, yypos, th)
++      end
++   fun addLineDirLineCol (line, col) =
++      let
++         val _ = lineDirLine := line
++         val _ = lineDirCol := col
++      in
++         ()
++      end
++   fun addLineDirFile file =
++      let
++         val _ = lineDirFile := SOME file
++      in
++         ()
++      end
++   fun finishLineDir (source, yypos) =
++      let
++         val col = !lineDirCol
++         val file = !lineDirFile
++         val line = !lineDirLine
++         val _ = lineDirCol := ~1
++         val _ = lineDirFile := NONE
++         val _ = lineDirLine := ~1
++      in
++         finishComment yypos
++         ; Source.lineDirective (source, file,
++                                 {lineNum = line,
++                                  lineStart = yypos + 1 - col})
++      end
++end
++
++
++(* Numeric Constants *)
++local
++fun doit (source, yypos, yytext, drop, {extended: string option}, mkTok) =
++   let
++      val left = yypos
++      val right = lastPos (yypos, yytext)
++      val extended =
++         if String.contains (yytext, #"_")
++            then SOME (Option.fold
++                       (extended, "'_' separators", fn (msg1, msg2) =>
++                        msg1 ^ " and " ^ msg2))
++            else extended
++      val _ =
++         case extended of
++            NONE => ()
++          | SOME msg =>
++               if allowExtendedNumConsts ()
++                  then ()
++                  else error (source, left, right,
++                              concat ["Extended numeric constants (using ", msg,
++                                      ") disallowed, compile with -default-ann 'allowExtendedNumConsts true'"])
++   in
++      mkTok (String.keepAll (String.dropPrefix (yytext, drop), fn c => not (c = #"_")),
++             {extended = Option.isSome extended},
++             Source.getPos (source, left), Source.getPos (source, right))
++   end
++in
++fun real (source, yypos, yytext) =
++   doit (source, yypos, yytext, 0, {extended = NONE}, fn (digits, {extended: bool}, l, r) =>
++         Tokens.REAL (digits, l, r))
++fun int (source, yypos, yytext, drop, {extended: string option}, {negate: bool}, radix) =
++   doit (source, yypos, yytext, drop, {extended = extended}, fn (digits, {extended: bool}, l, r) =>
++         Tokens.INT ({digits = digits,
++                      extended = extended,
++                      negate = negate,
++                      radix = radix},
++                     l, r))
++fun word (source, yypos, yytext, drop, {extended: string option}, radix) =
++   doit (source, yypos, yytext, drop, {extended = extended}, fn (digits, {extended: bool}, l, r) =>
++         Tokens.WORD ({digits = digits,
++                       radix = radix},
++                      l, r))
++end
++
++
++(* Text Constants *)
++local
++   val chars: IntInf.t list ref = ref []
++   val inText = ref false
++   val textLeft = ref SourcePos.bogus
++   val textFinishFn: (IntInf.t vector * SourcePos.t * SourcePos.t -> lexresult) ref = ref (fn _ => raise Fail "textFinish")
++in
++   fun startText (tl, tf) =
++      let
++         val _ = chars := []
++         val _ = inText := true
++         val _ = textLeft := tl
++         val _ = textFinishFn := tf
++      in
++         ()
++      end
++   fun finishText textRight =
++      let
++         val cs = Vector.fromListRev (!chars)
++         val tl = !textLeft
++         val tr = textRight
++         val tf = !textFinishFn
++         val _ = chars := []
++         val _ = inText := false
++         val _ = textLeft := SourcePos.bogus
++         val _ = textFinishFn := (fn _ => raise Fail "textFinish")
++      in
++         tf (cs, tl, tr)
++      end
++   val inText = fn () => !inText
++   fun addTextString (s: string) =
++      chars := String.fold (s, !chars, fn (c, ac) => Int.toIntInf (Char.ord c) :: ac)
++   fun addTextCharCode (i: IntInf.int) = List.push (chars, i)
++end
++fun addTextChar (c: char) = addTextString (String.fromChar c)
++fun addTextNumEsc (source, yypos, yytext, drop, {extended: string option}, radix): unit =
++   let
++      val left = yypos
++      val right = lastPos (yypos, yytext)
++      val _ =
++         case extended of
++            NONE => ()
++          | SOME msg =>
++               if allowExtendedTextConsts ()
++                  then ()
++                  else error (source, left, right,
++                              concat ["Extended text constants (using ", msg,
++                                      ") disallowed, compile with -default-ann 'allowExtendedTextConsts true'"])
++   in
++      case StringCvt.scanString (fn r => IntInf.scan (radix, r)) (String.dropPrefix (yytext, drop)) of
++         NONE => error (source, left, right, "Illegal numeric escape in text constant")
++       | SOME i => addTextCharCode i
++   end
++fun addTextUTF8 (source, yypos, yytext): unit =
++   let
++      val left = yypos
++      val right = lastPos (yypos, yytext)
++   in
++      if not (allowExtendedTextConsts ())
++         then error (source, left, right,
++                     "Extended text constants (using UTF-8 byte sequences) disallowed, compile with -default-ann 'allowExtendedTextConsts true'")
++         else addTextString yytext
++   end
++
++
++(* EOF *)
++val eof: lexarg -> lexresult =
++   fn {source, ...} =>
++   let
++      val _ = Source.newline (source, ~1)
++      val pos = Source.getPos (source, ~1)
++      val _ =
++         if inComment ()
++            then error' (pos, SourcePos.bogus, "Unclosed comment at end of file")
++            else ()
++      val _ =
++         if inText ()
++            then error' (pos, SourcePos.bogus, "Unclosed text constant at end of file")
++            else ()
++   in
++      Tokens.EOF (pos, SourcePos.bogus)
++   end
++
++
++(*#line 256.1 "ml.lex.sml"*)
++end (* end of user routines *)
++exception LexError (* raised if illegal leaf action tried *)
++structure Internal =
++	struct
++
++datatype yyfinstate = N of int
++type statedata = {fin : yyfinstate list, trans: int Vector.vector}
++(* transition & final state table *)
++val tab = let
++fun decode s k =
++  let val k' = k + k
++      val hi = Char.ord(String.sub(s, k'))
++      val lo = Char.ord(String.sub(s, k' + 1))
++  in hi * 256 + lo end
++val s = [ 
++ (0,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (1,256, 
++"\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\001\077\001\080\001\077\001\077\001\079\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\001\077\000\200\001\076\001\073\000\200\000\200\000\200\001\071\
++\\001\048\001\047\000\200\000\200\001\046\001\044\001\041\000\200\
++\\001\025\001\022\001\022\001\022\001\022\001\022\001\022\001\022\
++\\001\022\001\022\001\020\001\019\000\200\001\017\000\200\000\200\
++\\000\200\000\045\000\045\000\045\000\045\000\045\000\045\000\045\
++\\000\045\000\045\000\045\000\045\000\045\000\045\000\045\000\045\
++\\000\045\000\045\000\045\000\045\000\045\000\045\000\045\000\045\
++\\000\045\000\045\000\045\001\016\000\200\001\015\000\200\000\201\
++\\000\200\000\186\000\045\000\182\000\173\000\154\000\146\000\045\
++\\000\140\000\128\000\045\000\045\000\121\000\045\000\115\000\105\
++\\000\045\000\045\000\098\000\075\000\068\000\045\000\065\000\050\
++\\000\045\000\045\000\045\000\044\000\043\000\042\000\020\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019"
++),
++ (3,256, 
++"\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\127\001\081\001\081\001\126\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\091\001\091\001\125\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\092\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\089\001\089\001\089\001\089\001\089\001\089\001\089\001\089\
++\\001\089\001\089\001\089\001\089\001\089\001\089\001\089\001\089\
++\\001\089\001\089\001\089\001\089\001\089\001\089\001\089\001\089\
++\\001\089\001\089\001\089\001\089\001\089\001\089\001\089\001\089\
++\\001\086\001\086\001\086\001\086\001\086\001\086\001\086\001\086\
++\\001\086\001\086\001\086\001\086\001\086\001\086\001\086\001\086\
++\\001\082\001\082\001\082\001\082\001\082\001\082\001\082\001\082\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081"
++),
++ (5,256, 
++"\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\130\001\133\001\130\001\130\001\132\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\130\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\129\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128"
++),
++ (7,256, 
++"\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\141\001\134\001\134\001\140\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\137\001\134\001\135\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134"
++),
++ (9,256, 
++"\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\144\001\142\001\142\001\143\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142"
++),
++ (11,256, 
++"\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\000\000\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\146\001\146\001\146\001\146\001\146\001\146\001\146\001\146\
++\\001\146\001\146\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145"
++),
++ (13,256, 
++"\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\152\000\000\001\152\001\152\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\152\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\150\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145"
++),
++ (15,256, 
++"\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\157\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\159\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156"
++),
++ (17,256, 
++"\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\160\000\000\001\160\001\160\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\160\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\150\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145"
++),
++ (20,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\035\000\022\000\022\000\022\000\022\000\022\000\022\000\022\
++\\000\022\000\022\000\021\000\000\000\021\000\021\000\021\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (21,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\000\021\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (22,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\
++\\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\
++\\000\022\000\022\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (23,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\
++\\000\025\000\025\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (24,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\
++\\000\025\000\025\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (25,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\
++\\000\025\000\025\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (27,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\
++\\000\022\000\022\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (28,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\029\000\029\000\029\000\029\000\029\000\029\000\029\000\029\
++\\000\029\000\029\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (29,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\029\000\029\000\029\000\029\000\029\000\029\000\029\000\029\
++\\000\029\000\029\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\034\
++\\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (30,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\032\000\032\000\032\000\032\000\032\000\032\000\032\000\032\
++\\000\032\000\032\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (31,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\032\000\032\000\032\000\032\000\032\000\032\000\032\000\032\
++\\000\032\000\032\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (32,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\032\000\032\000\032\000\032\000\032\000\032\000\032\000\032\
++\\000\032\000\032\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\033\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (34,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\029\000\029\000\029\000\029\000\029\000\029\000\029\000\029\
++\\000\029\000\029\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\034\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (35,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\
++\\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\
++\\000\022\000\022\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\
++\\000\000\000\000\000\039\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\036\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (36,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\037\000\037\000\037\000\037\000\037\000\037\000\037\000\037\
++\\000\037\000\037\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\037\000\037\000\037\000\037\000\037\000\037\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\037\000\037\000\037\000\037\000\037\000\037\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (37,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\037\000\037\000\037\000\037\000\037\000\037\000\037\000\037\
++\\000\037\000\037\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\037\000\037\000\037\000\037\000\037\000\037\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\038\
++\\000\000\000\037\000\037\000\037\000\037\000\037\000\037\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (39,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\040\000\040\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (40,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\040\000\040\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\041\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (45,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (47,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\048\000\000\000\048\000\048\000\048\000\048\000\000\
++\\000\000\000\000\000\048\000\048\000\000\000\048\000\000\000\048\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\048\000\000\000\048\000\048\000\048\000\048\
++\\000\048\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\000\000\048\000\000\000\048\000\000\
++\\000\048\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\000\000\048\000\000\000\048\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (48,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\048\000\000\000\048\000\048\000\048\000\048\000\000\
++\\000\000\000\000\000\048\000\048\000\000\000\048\000\000\000\048\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\048\000\000\000\048\000\048\000\048\000\048\
++\\000\048\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\048\000\000\000\048\000\000\
++\\000\048\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\048\000\000\000\048\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (49,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\049\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\000\000\000\000\000\000\000\000\049\
++\\000\000\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (50,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\058\000\051\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (51,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\052\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (52,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\053\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (53,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\054\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (54,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\055\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (55,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\056\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (56,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\057\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (58,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\062\000\046\000\046\
++\\000\046\000\059\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (59,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\060\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (60,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\061\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (62,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\063\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (63,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\064\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (65,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\066\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (66,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\067\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (68,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\072\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\069\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (69,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\070\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (70,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\071\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (72,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\073\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (73,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\074\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (75,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\092\000\084\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\076\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (76,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\077\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (77,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\078\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (78,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\079\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (79,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\080\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (80,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\081\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (81,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\082\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (82,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\083\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (84,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\085\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (85,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\086\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (86,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\087\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (87,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\088\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (88,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\089\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (89,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\090\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (90,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\091\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (92,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\093\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (93,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\094\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (94,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\095\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (95,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\096\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (96,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\097\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (98,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\101\000\046\000\046\000\046\000\099\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (99,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\100\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (101,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\102\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (102,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\103\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (103,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\104\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (105,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\114\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\111\000\046\000\106\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (106,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\107\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (107,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\108\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (108,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\109\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (109,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\110\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (111,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\112\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (112,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\113\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (115,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\116\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (116,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\117\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (117,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\118\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (118,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\119\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (119,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\120\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (121,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\126\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\122\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (122,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\123\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (123,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\124\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (124,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\125\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (126,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\127\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (128,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\139\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\129\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (129,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\134\000\046\000\046\000\130\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (130,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\131\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (131,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\132\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (132,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\133\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (134,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\135\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (135,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\136\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (136,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\137\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (137,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\138\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (140,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\141\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (141,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\142\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (142,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\143\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (143,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\144\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (144,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\145\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (146,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\153\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\147\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (147,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\148\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (148,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\149\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (149,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\150\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (150,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\151\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (151,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\152\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (154,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\170\000\046\000\168\000\046\
++\\000\046\000\163\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\155\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (155,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\156\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (156,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\157\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (157,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\158\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (158,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\159\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (159,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\160\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (160,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\161\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (161,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\162\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (163,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\164\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (164,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\165\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (165,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\166\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (166,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\167\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (168,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\169\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (170,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\171\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (171,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\172\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (173,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\175\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\174\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (175,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\176\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (176,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\177\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (177,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\178\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (178,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\179\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (179,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\180\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (180,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\181\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (182,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\183\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (183,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\184\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (184,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\185\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (186,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\194\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\188\000\046\
++\\000\046\000\046\000\046\000\187\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (188,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\189\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (189,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\190\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (190,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\191\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (191,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\192\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (192,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\193\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (194,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\195\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (195,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\196\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (196,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\197\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (197,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\198\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (198,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\199\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (201,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\008\000\253\000\232\000\000\000\226\000\000\000\000\
++\\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\212\
++\\000\208\000\000\000\000\000\202\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (202,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (203,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\204\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (204,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\205\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (205,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (206,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (208,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (209,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\210\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (210,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (212,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (213,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\214\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (214,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (215,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (216,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (217,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\218\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (218,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\219\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (220,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (221,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (222,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\223\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (223,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\224\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (224,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (226,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\227\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (227,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (228,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (229,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\230\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (230,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\231\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (232,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (233,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\237\000\234\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (234,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\235\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (235,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\236\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (237,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (238,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\239\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (239,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (240,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (241,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\242\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (242,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (243,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\244\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (244,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (245,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\246\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (246,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (247,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\248\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (248,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\249\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (249,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\250\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (250,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\251\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (251,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\252\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (253,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\254\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (254,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\255\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (255,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (256,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\001\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (257,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\002\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (258,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\003\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (259,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\004\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (260,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (261,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\006\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (262,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\007\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (264,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\009\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (265,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\010\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (266,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\011\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (267,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\001\012\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (268,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (269,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\014\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (273,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\001\018\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (276,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\001\021\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (278,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\
++\\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\
++\\001\024\001\024\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (279,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\
++\\001\024\001\024\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (281,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\
++\\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\
++\\001\024\001\024\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\
++\\000\000\000\000\001\038\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\
++\\001\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (282,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\
++\\001\027\001\027\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\027\001\027\001\027\001\027\001\027\001\027\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\027\001\027\001\027\001\027\001\027\001\027\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (283,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\
++\\001\027\001\027\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\027\001\027\001\027\001\027\001\027\001\027\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\028\
++\\000\000\001\027\001\027\001\027\001\027\001\027\001\027\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (285,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\036\001\036\001\036\001\036\001\036\001\036\001\036\001\036\
++\\001\036\001\036\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\033\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (286,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\
++\\001\031\001\031\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\031\001\031\001\031\001\031\001\031\001\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\031\001\031\001\031\001\031\001\031\001\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (287,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\
++\\001\031\001\031\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\031\001\031\001\031\001\031\001\031\001\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\032\
++\\000\000\001\031\001\031\001\031\001\031\001\031\001\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (289,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\034\001\034\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (290,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\034\001\034\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\035\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (292,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\036\001\036\001\036\001\036\001\036\001\036\001\036\001\036\
++\\001\036\001\036\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\037\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (294,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\039\001\039\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (295,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\039\001\039\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\040\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (297,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\042\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (298,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\043\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (300,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\001\045\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (304,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\049\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (305,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\051\000\000\000\000\000\000\000\000\
++\\000\000\001\050\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (307,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\066\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\052\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (308,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\053\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (309,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\054\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (310,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\055\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (311,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\056\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (312,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\057\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (313,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\058\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (314,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\059\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (315,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\060\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (316,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\061\000\000\001\061\001\061\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\061\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (317,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\061\000\000\001\061\001\061\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\061\000\000\001\062\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (318,256, 
++"\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\063\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062"
++),
++ (319,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\063\000\000\001\063\001\063\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\063\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\064\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (320,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\065\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (322,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\067\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (323,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\068\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (324,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\001\069\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (325,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\070\000\000\001\070\001\070\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\070\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (327,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\072\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\000\000\000\000\000\000\000\000\001\072\
++\\000\000\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (329,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\001\075\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\000\021\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\074\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (333,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\078\000\000\001\078\001\078\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\078\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (335,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\080\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (338,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (339,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (340,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (342,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (343,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (345,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (348,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\122\001\124\001\122\001\122\001\123\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\122\000\000\001\121\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\118\001\118\001\118\001\118\001\118\001\118\001\118\001\118\
++\\001\118\001\118\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\001\109\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\108\000\000\001\105\000\000\
++\\000\000\001\104\001\103\000\000\000\000\000\000\001\102\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\101\000\000\
++\\000\000\000\000\001\100\000\000\001\099\001\094\001\093\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (350,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\095\001\095\001\095\001\095\001\095\001\095\001\095\001\095\
++\\001\095\001\095\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\095\001\095\001\095\001\095\001\095\001\095\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\095\001\095\001\095\001\095\001\095\001\095\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (351,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\096\001\096\001\096\001\096\001\096\001\096\001\096\001\096\
++\\001\096\001\096\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\096\001\096\001\096\001\096\001\096\001\096\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\096\001\096\001\096\001\096\001\096\001\096\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (352,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\097\001\097\001\097\001\097\001\097\001\097\001\097\001\097\
++\\001\097\001\097\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\097\001\097\001\097\001\097\001\097\001\097\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\097\001\097\001\097\001\097\001\097\001\097\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (353,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\098\001\098\001\098\001\098\001\098\001\098\001\098\001\098\
++\\001\098\001\098\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\098\001\098\001\098\001\098\001\098\001\098\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\098\001\098\001\098\001\098\001\098\001\098\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (361,256, 
++"\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\000\000\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\107\001\107\001\107\001\107\001\107\001\107\001\107\001\107\
++\\001\107\001\107\001\107\001\107\001\107\001\107\001\107\001\107\
++\\001\107\001\107\001\107\001\107\001\107\001\107\001\107\001\107\
++\\001\107\001\107\001\107\001\107\001\107\001\107\001\107\001\107\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106"
++),
++ (365,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\110\001\110\001\110\001\110\001\110\001\110\001\110\001\110\
++\\001\110\001\110\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\110\001\110\001\110\001\110\001\110\001\110\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\110\001\110\001\110\001\110\001\110\001\110\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (366,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\111\001\111\001\111\001\111\001\111\001\111\001\111\001\111\
++\\001\111\001\111\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\111\001\111\001\111\001\111\001\111\001\111\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\111\001\111\001\111\001\111\001\111\001\111\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (367,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\112\001\112\001\112\001\112\001\112\001\112\001\112\001\112\
++\\001\112\001\112\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\112\001\112\001\112\001\112\001\112\001\112\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\112\001\112\001\112\001\112\001\112\001\112\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (368,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\113\001\113\001\113\001\113\001\113\001\113\001\113\001\113\
++\\001\113\001\113\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\113\001\113\001\113\001\113\001\113\001\113\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\113\001\113\001\113\001\113\001\113\001\113\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (369,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\114\001\114\001\114\001\114\001\114\001\114\001\114\001\114\
++\\001\114\001\114\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\114\001\114\001\114\001\114\001\114\001\114\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\114\001\114\001\114\001\114\001\114\001\114\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (370,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\115\001\115\001\115\001\115\001\115\001\115\001\115\001\115\
++\\001\115\001\115\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\115\001\115\001\115\001\115\001\115\001\115\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\115\001\115\001\115\001\115\001\115\001\115\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (371,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\116\001\116\001\116\001\116\001\116\001\116\001\116\001\116\
++\\001\116\001\116\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\116\001\116\001\116\001\116\001\116\001\116\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\116\001\116\001\116\001\116\001\116\001\116\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (372,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\117\001\117\001\117\001\117\001\117\001\117\001\117\001\117\
++\\001\117\001\117\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\117\001\117\001\117\001\117\001\117\001\117\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\117\001\117\001\117\001\117\001\117\001\117\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (374,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\119\001\119\001\119\001\119\001\119\001\119\001\119\001\119\
++\\001\119\001\119\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (375,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\120\001\120\001\120\001\120\001\120\001\120\001\120\001\120\
++\\001\120\001\120\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (378,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\122\000\000\001\122\001\122\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\122\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (379,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\124\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (382,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\127\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (386,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\131\000\000\001\131\001\131\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (388,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (391,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (393,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\138\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (394,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\139\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (396,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\141\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (399,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\144\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (402,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\148\000\000\
++\\001\147\001\147\001\147\001\147\001\147\001\147\001\147\001\147\
++\\001\147\001\147\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (404,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\149\001\149\001\149\001\149\001\149\001\149\001\149\001\149\
++\\001\149\001\149\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (406,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (408,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\155\000\000\001\155\001\155\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\155\000\000\001\154\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (412,256, 
++"\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\158\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157"
++),
++ (416,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\161\000\000\001\161\001\161\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++(0, 0, "")]
++fun f(n, i, x) = (n, Vector.tabulate(i, decode x)) 
++val s = Pervasive.List.map f (Pervasive.List.rev (tl (Pervasive.List.rev s))) 
++exception LexHackingError 
++fun look ((j,x)::r, i: int) = if i = j then x else look(r, i) 
++  | look ([], i) = raise LexHackingError
++fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} 
++in Vector.fromList(Pervasive.List.map g 
++[{fin = [], trans = 0},
++{fin = [], trans = 1},
++{fin = [], trans = 1},
++{fin = [], trans = 3},
++{fin = [], trans = 3},
++{fin = [], trans = 5},
++{fin = [], trans = 5},
++{fin = [], trans = 7},
++{fin = [], trans = 7},
++{fin = [], trans = 9},
++{fin = [], trans = 9},
++{fin = [], trans = 11},
++{fin = [], trans = 11},
++{fin = [], trans = 13},
++{fin = [], trans = 13},
++{fin = [], trans = 15},
++{fin = [], trans = 15},
++{fin = [], trans = 17},
++{fin = [], trans = 17},
++{fin = [(N 799)], trans = 0},
++{fin = [(N 427),(N 799)], trans = 20},
++{fin = [(N 427)], trans = 21},
++{fin = [(N 521)], trans = 22},
++{fin = [], trans = 23},
++{fin = [], trans = 24},
++{fin = [(N 512)], trans = 25},
++{fin = [], trans = 25},
++{fin = [], trans = 27},
++{fin = [], trans = 28},
++{fin = [(N 512)], trans = 29},
++{fin = [], trans = 30},
++{fin = [], trans = 31},
++{fin = [(N 512)], trans = 32},
++{fin = [], trans = 32},
++{fin = [], trans = 34},
++{fin = [(N 521)], trans = 35},
++{fin = [], trans = 36},
++{fin = [(N 534)], trans = 37},
++{fin = [], trans = 37},
++{fin = [], trans = 39},
++{fin = [(N 547)], trans = 40},
++{fin = [], trans = 40},
++{fin = [(N 144),(N 799)], trans = 0},
++{fin = [(N 142),(N 427),(N 799)], trans = 21},
++{fin = [(N 140),(N 799)], trans = 0},
++{fin = [(N 386),(N 799)], trans = 45},
++{fin = [(N 386)], trans = 45},
++{fin = [], trans = 47},
++{fin = [(N 486)], trans = 48},
++{fin = [(N 439)], trans = 49},
++{fin = [(N 386),(N 799)], trans = 50},
++{fin = [(N 386)], trans = 51},
++{fin = [(N 386)], trans = 52},
++{fin = [(N 374),(N 386)], trans = 53},
++{fin = [(N 386)], trans = 54},
++{fin = [(N 386)], trans = 55},
++{fin = [(N 386)], trans = 56},
++{fin = [(N 383),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 58},
++{fin = [(N 386)], trans = 59},
++{fin = [(N 386)], trans = 60},
++{fin = [(N 369),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 62},
++{fin = [(N 386)], trans = 63},
++{fin = [(N 363),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 65},
++{fin = [(N 386)], trans = 66},
++{fin = [(N 357),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 68},
++{fin = [(N 386)], trans = 69},
++{fin = [(N 386)], trans = 70},
++{fin = [(N 353),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 72},
++{fin = [(N 386)], trans = 73},
++{fin = [(N 348),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 75},
++{fin = [(N 386)], trans = 76},
++{fin = [(N 386)], trans = 77},
++{fin = [(N 386)], trans = 78},
++{fin = [(N 386)], trans = 79},
++{fin = [(N 333),(N 386)], trans = 80},
++{fin = [(N 386)], trans = 81},
++{fin = [(N 386)], trans = 82},
++{fin = [(N 343),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 84},
++{fin = [(N 316),(N 386)], trans = 85},
++{fin = [(N 386)], trans = 86},
++{fin = [(N 386)], trans = 87},
++{fin = [(N 386)], trans = 88},
++{fin = [(N 386)], trans = 89},
++{fin = [(N 386)], trans = 90},
++{fin = [(N 326),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 92},
++{fin = [(N 386)], trans = 93},
++{fin = [(N 386)], trans = 94},
++{fin = [(N 386)], trans = 95},
++{fin = [(N 386)], trans = 96},
++{fin = [(N 312),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 98},
++{fin = [(N 386)], trans = 99},
++{fin = [(N 304),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 101},
++{fin = [(N 386)], trans = 102},
++{fin = [(N 386)], trans = 103},
++{fin = [(N 300),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 105},
++{fin = [(N 386)], trans = 106},
++{fin = [(N 386)], trans = 107},
++{fin = [(N 386)], trans = 108},
++{fin = [(N 386)], trans = 109},
++{fin = [(N 294),(N 386)], trans = 45},
++{fin = [(N 282),(N 386)], trans = 111},
++{fin = [(N 386)], trans = 112},
++{fin = [(N 287),(N 386)], trans = 45},
++{fin = [(N 279),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 115},
++{fin = [(N 386)], trans = 116},
++{fin = [(N 386)], trans = 117},
++{fin = [(N 386)], trans = 118},
++{fin = [(N 386)], trans = 119},
++{fin = [(N 276),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 121},
++{fin = [(N 386)], trans = 122},
++{fin = [(N 386)], trans = 123},
++{fin = [(N 386)], trans = 124},
++{fin = [(N 269),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 126},
++{fin = [(N 263),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 128},
++{fin = [(N 238),(N 386)], trans = 129},
++{fin = [(N 386)], trans = 130},
++{fin = [(N 386)], trans = 131},
++{fin = [(N 252),(N 386)], trans = 132},
++{fin = [(N 259),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 134},
++{fin = [(N 386)], trans = 135},
++{fin = [(N 386)], trans = 136},
++{fin = [(N 386)], trans = 137},
++{fin = [(N 246),(N 386)], trans = 45},
++{fin = [(N 235),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 140},
++{fin = [(N 386)], trans = 141},
++{fin = [(N 386)], trans = 142},
++{fin = [(N 386)], trans = 143},
++{fin = [(N 386)], trans = 144},
++{fin = [(N 232),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 146},
++{fin = [(N 386)], trans = 147},
++{fin = [(N 217),(N 386)], trans = 148},
++{fin = [(N 386)], trans = 149},
++{fin = [(N 386)], trans = 150},
++{fin = [(N 386)], trans = 151},
++{fin = [(N 225),(N 386)], trans = 45},
++{fin = [(N 213),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 154},
++{fin = [(N 386)], trans = 155},
++{fin = [(N 386)], trans = 156},
++{fin = [(N 386)], trans = 157},
++{fin = [(N 386)], trans = 158},
++{fin = [(N 386)], trans = 159},
++{fin = [(N 386)], trans = 160},
++{fin = [(N 386)], trans = 161},
++{fin = [(N 210),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 163},
++{fin = [(N 386)], trans = 164},
++{fin = [(N 386)], trans = 165},
++{fin = [(N 386)], trans = 166},
++{fin = [(N 200),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 168},
++{fin = [(N 193),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 170},
++{fin = [(N 386)], trans = 171},
++{fin = [(N 189),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 173},
++{fin = [(N 184),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 175},
++{fin = [(N 386)], trans = 176},
++{fin = [(N 386)], trans = 177},
++{fin = [(N 386)], trans = 178},
++{fin = [(N 386)], trans = 179},
++{fin = [(N 386)], trans = 180},
++{fin = [(N 181),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 182},
++{fin = [(N 386)], trans = 183},
++{fin = [(N 386)], trans = 184},
++{fin = [(N 172),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 186},
++{fin = [(N 167),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 188},
++{fin = [(N 156),(N 386)], trans = 189},
++{fin = [(N 386)], trans = 190},
++{fin = [(N 386)], trans = 191},
++{fin = [(N 386)], trans = 192},
++{fin = [(N 164),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 194},
++{fin = [(N 386)], trans = 195},
++{fin = [(N 386)], trans = 196},
++{fin = [(N 386)], trans = 197},
++{fin = [(N 386)], trans = 198},
++{fin = [(N 152),(N 386)], trans = 45},
++{fin = [(N 427),(N 799)], trans = 21},
++{fin = [(N 138),(N 799)], trans = 201},
++{fin = [], trans = 202},
++{fin = [], trans = 203},
++{fin = [], trans = 204},
++{fin = [], trans = 205},
++{fin = [], trans = 206},
++{fin = [(N 102)], trans = 0},
++{fin = [], trans = 208},
++{fin = [], trans = 209},
++{fin = [], trans = 210},
++{fin = [(N 94)], trans = 0},
++{fin = [], trans = 212},
++{fin = [], trans = 213},
++{fin = [], trans = 214},
++{fin = [], trans = 215},
++{fin = [], trans = 216},
++{fin = [], trans = 217},
++{fin = [], trans = 218},
++{fin = [(N 88)], trans = 0},
++{fin = [], trans = 220},
++{fin = [], trans = 221},
++{fin = [], trans = 222},
++{fin = [], trans = 223},
++{fin = [], trans = 224},
++{fin = [(N 78)], trans = 0},
++{fin = [], trans = 226},
++{fin = [], trans = 227},
++{fin = [], trans = 228},
++{fin = [], trans = 229},
++{fin = [], trans = 230},
++{fin = [(N 70)], trans = 0},
++{fin = [], trans = 232},
++{fin = [], trans = 233},
++{fin = [], trans = 234},
++{fin = [], trans = 235},
++{fin = [(N 62)], trans = 0},
++{fin = [], trans = 237},
++{fin = [], trans = 238},
++{fin = [], trans = 239},
++{fin = [], trans = 240},
++{fin = [], trans = 241},
++{fin = [], trans = 242},
++{fin = [], trans = 243},
++{fin = [], trans = 244},
++{fin = [], trans = 245},
++{fin = [], trans = 246},
++{fin = [], trans = 247},
++{fin = [], trans = 248},
++{fin = [], trans = 249},
++{fin = [], trans = 250},
++{fin = [], trans = 251},
++{fin = [(N 55)], trans = 0},
++{fin = [], trans = 253},
++{fin = [], trans = 254},
++{fin = [], trans = 255},
++{fin = [], trans = 256},
++{fin = [], trans = 257},
++{fin = [], trans = 258},
++{fin = [], trans = 259},
++{fin = [], trans = 260},
++{fin = [], trans = 261},
++{fin = [], trans = 262},
++{fin = [(N 35)], trans = 0},
++{fin = [], trans = 264},
++{fin = [], trans = 265},
++{fin = [], trans = 266},
++{fin = [], trans = 267},
++{fin = [], trans = 268},
++{fin = [], trans = 269},
++{fin = [(N 22)], trans = 0},
++{fin = [(N 136),(N 799)], trans = 0},
++{fin = [(N 134),(N 799)], trans = 0},
++{fin = [(N 129),(N 427),(N 799)], trans = 273},
++{fin = [(N 132),(N 427)], trans = 21},
++{fin = [(N 127),(N 799)], trans = 0},
++{fin = [(N 122),(N 427),(N 799)], trans = 276},
++{fin = [(N 125),(N 427)], trans = 21},
++{fin = [(N 516),(N 799)], trans = 278},
++{fin = [], trans = 279},
++{fin = [(N 516)], trans = 278},
++{fin = [(N 516),(N 799)], trans = 281},
++{fin = [], trans = 282},
++{fin = [(N 527)], trans = 283},
++{fin = [], trans = 283},
++{fin = [], trans = 285},
++{fin = [], trans = 286},
++{fin = [(N 560)], trans = 287},
++{fin = [], trans = 287},
++{fin = [], trans = 289},
++{fin = [(N 567)], trans = 290},
++{fin = [], trans = 290},
++{fin = [(N 553)], trans = 292},
++{fin = [], trans = 292},
++{fin = [], trans = 294},
++{fin = [(N 540)], trans = 295},
++{fin = [], trans = 295},
++{fin = [(N 799)], trans = 297},
++{fin = [], trans = 298},
++{fin = [(N 120)], trans = 0},
++{fin = [(N 427),(N 799)], trans = 300},
++{fin = [(N 116),(N 427)], trans = 21},
++{fin = [(N 113),(N 799)], trans = 0},
++{fin = [(N 111),(N 799)], trans = 0},
++{fin = [(N 109),(N 799)], trans = 304},
++{fin = [(N 699)], trans = 305},
++{fin = [(N 696)], trans = 0},
++{fin = [], trans = 307},
++{fin = [], trans = 308},
++{fin = [], trans = 309},
++{fin = [], trans = 310},
++{fin = [], trans = 311},
++{fin = [], trans = 312},
++{fin = [], trans = 313},
++{fin = [], trans = 314},
++{fin = [], trans = 315},
++{fin = [], trans = 316},
++{fin = [], trans = 317},
++{fin = [], trans = 318},
++{fin = [], trans = 319},
++{fin = [], trans = 320},
++{fin = [(N 797)], trans = 0},
++{fin = [], trans = 322},
++{fin = [], trans = 323},
++{fin = [], trans = 324},
++{fin = [], trans = 325},
++{fin = [(N 739)], trans = 325},
++{fin = [(N 430),(N 799)], trans = 327},
++{fin = [(N 430)], trans = 327},
++{fin = [(N 104),(N 427),(N 799)], trans = 329},
++{fin = [(N 107)], trans = 0},
++{fin = [(N 572)], trans = 0},
++{fin = [(N 569),(N 799)], trans = 0},
++{fin = [(N 8),(N 799)], trans = 333},
++{fin = [(N 8)], trans = 333},
++{fin = [(N 13),(N 799)], trans = 335},
++{fin = [(N 13)], trans = 0},
++{fin = [(N 674)], trans = 0},
++{fin = [(N 674)], trans = 338},
++{fin = [], trans = 339},
++{fin = [], trans = 340},
++{fin = [(N 591)], trans = 0},
++{fin = [(N 674)], trans = 342},
++{fin = [], trans = 343},
++{fin = [(N 586)], trans = 0},
++{fin = [(N 674)], trans = 345},
++{fin = [(N 582)], trans = 0},
++{fin = [(N 579),(N 674)], trans = 0},
++{fin = [(N 667),(N 674)], trans = 348},
++{fin = [(N 606)], trans = 0},
++{fin = [], trans = 350},
++{fin = [], trans = 351},
++{fin = [], trans = 352},
++{fin = [], trans = 353},
++{fin = [(N 632)], trans = 0},
++{fin = [(N 600)], trans = 0},
++{fin = [(N 612)], trans = 0},
++{fin = [(N 603)], trans = 0},
++{fin = [(N 609)], trans = 0},
++{fin = [(N 597)], trans = 0},
++{fin = [(N 594)], trans = 0},
++{fin = [], trans = 361},
++{fin = [(N 620)], trans = 0},
++{fin = [(N 616),(N 620)], trans = 0},
++{fin = [(N 649)], trans = 0},
++{fin = [], trans = 365},
++{fin = [], trans = 366},
++{fin = [], trans = 367},
++{fin = [], trans = 368},
++{fin = [], trans = 369},
++{fin = [], trans = 370},
++{fin = [], trans = 371},
++{fin = [], trans = 372},
++{fin = [(N 643)], trans = 0},
++{fin = [], trans = 374},
++{fin = [], trans = 375},
++{fin = [(N 625)], trans = 0},
++{fin = [(N 646)], trans = 0},
++{fin = [(N 659)], trans = 378},
++{fin = [(N 665)], trans = 379},
++{fin = [(N 665)], trans = 0},
++{fin = [(N 574),(N 674)], trans = 0},
++{fin = [(N 672),(N 674)], trans = 382},
++{fin = [(N 672)], trans = 0},
++{fin = [(N 692)], trans = 0},
++{fin = [(N 690),(N 692)], trans = 0},
++{fin = [(N 683),(N 692)], trans = 386},
++{fin = [(N 683)], trans = 386},
++{fin = [(N 688),(N 692)], trans = 388},
++{fin = [(N 688)], trans = 0},
++{fin = [(N 723)], trans = 0},
++{fin = [(N 723)], trans = 391},
++{fin = [(N 716)], trans = 0},
++{fin = [(N 723)], trans = 393},
++{fin = [(N 713)], trans = 394},
++{fin = [(N 710)], trans = 0},
++{fin = [(N 721),(N 723)], trans = 396},
++{fin = [(N 721)], trans = 0},
++{fin = [(N 706)], trans = 0},
++{fin = [(N 704),(N 706)], trans = 399},
++{fin = [(N 704)], trans = 0},
++{fin = [(N 767)], trans = 0},
++{fin = [(N 767)], trans = 402},
++{fin = [], trans = 402},
++{fin = [], trans = 404},
++{fin = [(N 745)], trans = 404},
++{fin = [(N 767)], trans = 406},
++{fin = [(N 765)], trans = 0},
++{fin = [(N 767)], trans = 408},
++{fin = [], trans = 406},
++{fin = [(N 755)], trans = 0},
++{fin = [], trans = 408},
++{fin = [(N 767)], trans = 412},
++{fin = [], trans = 412},
++{fin = [(N 758)], trans = 0},
++{fin = [(N 758),(N 767)], trans = 0},
++{fin = [(N 767)], trans = 416},
++{fin = [], trans = 416}])
++end
++structure StartStates =
++	struct
++	datatype yystartstate = STARTSTATE of int
++
++(* start state definitions *)
++
++val BLOCK_COMMENT = STARTSTATE 7;
++val INITIAL = STARTSTATE 1;
++val LINE_COMMENT = STARTSTATE 9;
++val LINE_DIR1 = STARTSTATE 11;
++val LINE_DIR2 = STARTSTATE 13;
++val LINE_DIR3 = STARTSTATE 15;
++val LINE_DIR4 = STARTSTATE 17;
++val TEXT = STARTSTATE 3;
++val TEXT_FMT = STARTSTATE 5;
++
++end
++type result = UserDeclarations.lexresult
++	exception LexerError (* raised if illegal leaf action tried *)
++end
++
++structure YYPosInt : INTEGER = Int
++fun makeLexer yyinput =
++let	val yygone0= YYPosInt.fromInt ~1
++	val yyb = ref "\n" 		(* buffer *)
++	val yybl = ref 1		(*buffer length *)
++	val yybufpos = ref 1		(* location of next character to use *)
++	val yygone = ref yygone0	(* position in file of beginning of buffer *)
++	val yydone = ref false		(* eof found yet? *)
++	val yybegin = ref 1		(*Current 'start state' for lexer *)
++
++	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
++		 yybegin := x
++
++fun lex (yyarg as ((*#line 257.7 "ml.lex"*){source}(*#line 10593.1 "ml.lex.sml"*)
++)) =
++let fun continue() : Internal.result = 
++  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
++	let fun action (i,nil) = raise LexError
++	| action (i,nil::l) = action (i-1,l)
++	| action (i,(node::acts)::l) =
++		case node of
++		    Internal.N yyk => 
++			(let fun yymktext() = String.substring(!yyb,i0,i-i0)
++			     val yypos = YYPosInt.+(YYPosInt.fromInt i0, !yygone)
++			open UserDeclarations Internal.StartStates
++ in (yybufpos := i; case yyk of 
++
++			(* Application actions *)
++
++  102 => let val yytext=yymktext() in (*#line 296.24 "ml.lex"*)tok (Tokens.SYMBOL, yytext, source, yypos)(*#line 10609.1 "ml.lex.sml"*)
++ end
++| 104 => let val yytext=yymktext() in (*#line 298.18 "ml.lex"*)tok (Tokens.HASH, yytext, source, yypos)(*#line 10611.1 "ml.lex.sml"*)
++ end
++| 107 => let val yytext=yymktext() in (*#line 299.19 "ml.lex"*)tok (Tokens.HASHLBRACKET, yytext, source, yypos)(*#line 10613.1 "ml.lex.sml"*)
++ end
++| 109 => let val yytext=yymktext() in (*#line 300.18 "ml.lex"*)tok (Tokens.LPAREN, yytext, source, yypos)(*#line 10615.1 "ml.lex.sml"*)
++ end
++| 111 => let val yytext=yymktext() in (*#line 301.18 "ml.lex"*)tok (Tokens.RPAREN, yytext, source, yypos)(*#line 10617.1 "ml.lex.sml"*)
++ end
++| 113 => let val yytext=yymktext() in (*#line 302.18 "ml.lex"*)tok (Tokens.COMMA, yytext, source, yypos)(*#line 10619.1 "ml.lex.sml"*)
++ end
++| 116 => let val yytext=yymktext() in (*#line 303.19 "ml.lex"*)tok (Tokens.ARROW, yytext, source, yypos)(*#line 10621.1 "ml.lex.sml"*)
++ end
++| 120 => let val yytext=yymktext() in (*#line 304.20 "ml.lex"*)tok (Tokens.DOTDOTDOT, yytext, source, yypos)(*#line 10623.1 "ml.lex.sml"*)
++ end
++| 122 => let val yytext=yymktext() in (*#line 305.18 "ml.lex"*)tok (Tokens.COLON, yytext, source, yypos)(*#line 10625.1 "ml.lex.sml"*)
++ end
++| 125 => let val yytext=yymktext() in (*#line 306.19 "ml.lex"*)tok (Tokens.COLONGT, yytext, source, yypos)(*#line 10627.1 "ml.lex.sml"*)
++ end
++| 127 => let val yytext=yymktext() in (*#line 307.18 "ml.lex"*)tok (Tokens.SEMICOLON, yytext, source, yypos)(*#line 10629.1 "ml.lex.sml"*)
++ end
++| 129 => let val yytext=yymktext() in (*#line 308.18 "ml.lex"*)tok (Tokens.EQUALOP, yytext, source, yypos)(*#line 10631.1 "ml.lex.sml"*)
++ end
++| 13 => let val yytext=yymktext() in (*#line 285.21 "ml.lex"*)Source.newline (source, lastPos (yypos, yytext)); continue ()(*#line 10633.1 "ml.lex.sml"*)
++ end
++| 132 => let val yytext=yymktext() in (*#line 309.19 "ml.lex"*)tok (Tokens.DARROW, yytext, source, yypos)(*#line 10635.1 "ml.lex.sml"*)
++ end
++| 134 => let val yytext=yymktext() in (*#line 310.18 "ml.lex"*)tok (Tokens.LBRACKET, yytext, source, yypos)(*#line 10637.1 "ml.lex.sml"*)
++ end
++| 136 => let val yytext=yymktext() in (*#line 311.18 "ml.lex"*)tok (Tokens.RBRACKET, yytext, source, yypos)(*#line 10639.1 "ml.lex.sml"*)
++ end
++| 138 => let val yytext=yymktext() in (*#line 312.18 "ml.lex"*)tok (Tokens.WILD, yytext, source, yypos)(*#line 10641.1 "ml.lex.sml"*)
++ end
++| 140 => let val yytext=yymktext() in (*#line 313.18 "ml.lex"*)tok (Tokens.LBRACE, yytext, source, yypos)(*#line 10643.1 "ml.lex.sml"*)
++ end
++| 142 => let val yytext=yymktext() in (*#line 314.18 "ml.lex"*)tok (Tokens.BAR, yytext, source, yypos)(*#line 10645.1 "ml.lex.sml"*)
++ end
++| 144 => let val yytext=yymktext() in (*#line 315.18 "ml.lex"*)tok (Tokens.RBRACE, yytext, source, yypos)(*#line 10647.1 "ml.lex.sml"*)
++ end
++| 152 => let val yytext=yymktext() in (*#line 317.24 "ml.lex"*)tok (Tokens.ABSTYPE, yytext, source, yypos)(*#line 10649.1 "ml.lex.sml"*)
++ end
++| 156 => let val yytext=yymktext() in (*#line 318.20 "ml.lex"*)tok (Tokens.AND, yytext, source, yypos)(*#line 10651.1 "ml.lex.sml"*)
++ end
++| 164 => let val yytext=yymktext() in (*#line 319.24 "ml.lex"*)tok (Tokens.ANDALSO, yytext, source, yypos)(*#line 10653.1 "ml.lex.sml"*)
++ end
++| 167 => let val yytext=yymktext() in (*#line 320.19 "ml.lex"*)tok (Tokens.AS, yytext, source, yypos)(*#line 10655.1 "ml.lex.sml"*)
++ end
++| 172 => let val yytext=yymktext() in (*#line 321.21 "ml.lex"*)tok (Tokens.CASE, yytext, source, yypos)(*#line 10657.1 "ml.lex.sml"*)
++ end
++| 181 => let val yytext=yymktext() in (*#line 322.25 "ml.lex"*)tok (Tokens.DATATYPE, yytext, source, yypos)(*#line 10659.1 "ml.lex.sml"*)
++ end
++| 184 => let val yytext=yymktext() in (*#line 323.19 "ml.lex"*)tok (Tokens.DO, yytext, source, yypos)(*#line 10661.1 "ml.lex.sml"*)
++ end
++| 189 => let val yytext=yymktext() in (*#line 324.21 "ml.lex"*)tok (Tokens.ELSE, yytext, source, yypos)(*#line 10663.1 "ml.lex.sml"*)
++ end
++| 193 => let val yytext=yymktext() in (*#line 325.20 "ml.lex"*)tok (Tokens.END, yytext, source, yypos)(*#line 10665.1 "ml.lex.sml"*)
++ end
++| 200 => let val yytext=yymktext() in (*#line 326.23 "ml.lex"*)tok (Tokens.EQTYPE, yytext, source, yypos)(*#line 10667.1 "ml.lex.sml"*)
++ end
++| 210 => let val yytext=yymktext() in (*#line 327.26 "ml.lex"*)tok (Tokens.EXCEPTION, yytext, source, yypos)(*#line 10669.1 "ml.lex.sml"*)
++ end
++| 213 => let val yytext=yymktext() in (*#line 328.19 "ml.lex"*)tok (Tokens.FN, yytext, source, yypos)(*#line 10671.1 "ml.lex.sml"*)
++ end
++| 217 => let val yytext=yymktext() in (*#line 329.20 "ml.lex"*)tok (Tokens.FUN, yytext, source, yypos)(*#line 10673.1 "ml.lex.sml"*)
++ end
++| 22 => let val yytext=yymktext() in (*#line 288.25 "ml.lex"*)tok (Tokens.ADDRESS, yytext, source, yypos)(*#line 10675.1 "ml.lex.sml"*)
++ end
++| 225 => let val yytext=yymktext() in (*#line 330.24 "ml.lex"*)tok (Tokens.FUNCTOR, yytext, source, yypos)(*#line 10677.1 "ml.lex.sml"*)
++ end
++| 232 => let val yytext=yymktext() in (*#line 331.23 "ml.lex"*)tok (Tokens.HANDLE, yytext, source, yypos)(*#line 10679.1 "ml.lex.sml"*)
++ end
++| 235 => let val yytext=yymktext() in (*#line 332.19 "ml.lex"*)tok (Tokens.IF, yytext, source, yypos)(*#line 10681.1 "ml.lex.sml"*)
++ end
++| 238 => let val yytext=yymktext() in (*#line 333.19 "ml.lex"*)tok (Tokens.IN, yytext, source, yypos)(*#line 10683.1 "ml.lex.sml"*)
++ end
++| 246 => let val yytext=yymktext() in (*#line 334.24 "ml.lex"*)tok (Tokens.INCLUDE, yytext, source, yypos)(*#line 10685.1 "ml.lex.sml"*)
++ end
++| 252 => let val yytext=yymktext() in (*#line 335.22 "ml.lex"*)tok (Tokens.INFIX, yytext, source, yypos)(*#line 10687.1 "ml.lex.sml"*)
++ end
++| 259 => let val yytext=yymktext() in (*#line 336.23 "ml.lex"*)tok (Tokens.INFIXR, yytext, source, yypos)(*#line 10689.1 "ml.lex.sml"*)
++ end
++| 263 => let val yytext=yymktext() in (*#line 337.20 "ml.lex"*)tok (Tokens.LET, yytext, source, yypos)(*#line 10691.1 "ml.lex.sml"*)
++ end
++| 269 => let val yytext=yymktext() in (*#line 338.22 "ml.lex"*)tok (Tokens.LOCAL, yytext, source, yypos)(*#line 10693.1 "ml.lex.sml"*)
++ end
++| 276 => let val yytext=yymktext() in (*#line 339.23 "ml.lex"*)tok (Tokens.NONFIX, yytext, source, yypos)(*#line 10695.1 "ml.lex.sml"*)
++ end
++| 279 => let val yytext=yymktext() in (*#line 340.19 "ml.lex"*)tok (Tokens.OF, yytext, source, yypos)(*#line 10697.1 "ml.lex.sml"*)
++ end
++| 282 => let val yytext=yymktext() in (*#line 341.19 "ml.lex"*)tok (Tokens.OP, yytext, source, yypos)(*#line 10699.1 "ml.lex.sml"*)
++ end
++| 287 => let val yytext=yymktext() in (*#line 342.21 "ml.lex"*)tok (Tokens.OPEN, yytext, source, yypos)(*#line 10701.1 "ml.lex.sml"*)
++ end
++| 294 => let val yytext=yymktext() in (*#line 343.23 "ml.lex"*)tok (Tokens.ORELSE, yytext, source, yypos)(*#line 10703.1 "ml.lex.sml"*)
++ end
++| 300 => let val yytext=yymktext() in (*#line 344.22 "ml.lex"*)tok (Tokens.RAISE, yytext, source, yypos)(*#line 10705.1 "ml.lex.sml"*)
++ end
++| 304 => let val yytext=yymktext() in (*#line 345.20 "ml.lex"*)tok (Tokens.REC, yytext, source, yypos)(*#line 10707.1 "ml.lex.sml"*)
++ end
++| 312 => let val yytext=yymktext() in (*#line 346.24 "ml.lex"*)tok (Tokens.SHARING, yytext, source, yypos)(*#line 10709.1 "ml.lex.sml"*)
++ end
++| 316 => let val yytext=yymktext() in (*#line 347.20 "ml.lex"*)tok (Tokens.SIG, yytext, source, yypos)(*#line 10711.1 "ml.lex.sml"*)
++ end
++| 326 => let val yytext=yymktext() in (*#line 348.26 "ml.lex"*)tok (Tokens.SIGNATURE, yytext, source, yypos)(*#line 10713.1 "ml.lex.sml"*)
++ end
++| 333 => let val yytext=yymktext() in (*#line 349.23 "ml.lex"*)tok (Tokens.STRUCT, yytext, source, yypos)(*#line 10715.1 "ml.lex.sml"*)
++ end
++| 343 => let val yytext=yymktext() in (*#line 350.26 "ml.lex"*)tok (Tokens.STRUCTURE, yytext, source, yypos)(*#line 10717.1 "ml.lex.sml"*)
++ end
++| 348 => let val yytext=yymktext() in (*#line 351.21 "ml.lex"*)tok (Tokens.THEN, yytext, source, yypos)(*#line 10719.1 "ml.lex.sml"*)
++ end
++| 35 => let val yytext=yymktext() in (*#line 289.29 "ml.lex"*)tok (Tokens.BUILD_CONST, yytext, source, yypos)(*#line 10721.1 "ml.lex.sml"*)
++ end
++| 353 => let val yytext=yymktext() in (*#line 352.21 "ml.lex"*)tok (Tokens.TYPE, yytext, source, yypos)(*#line 10723.1 "ml.lex.sml"*)
++ end
++| 357 => let val yytext=yymktext() in (*#line 353.20 "ml.lex"*)tok (Tokens.VAL, yytext, source, yypos)(*#line 10725.1 "ml.lex.sml"*)
++ end
++| 363 => let val yytext=yymktext() in (*#line 354.22 "ml.lex"*)tok (Tokens.WHERE, yytext, source, yypos)(*#line 10727.1 "ml.lex.sml"*)
++ end
++| 369 => let val yytext=yymktext() in (*#line 355.22 "ml.lex"*)tok (Tokens.WHILE, yytext, source, yypos)(*#line 10729.1 "ml.lex.sml"*)
++ end
++| 374 => let val yytext=yymktext() in (*#line 356.21 "ml.lex"*)tok (Tokens.WITH, yytext, source, yypos)(*#line 10731.1 "ml.lex.sml"*)
++ end
++| 383 => let val yytext=yymktext() in (*#line 357.25 "ml.lex"*)tok (Tokens.WITHTYPE, yytext, source, yypos)(*#line 10733.1 "ml.lex.sml"*)
++ end
++| 386 => let val yytext=yymktext() in (*#line 360.27 "ml.lex"*)tok' (Tokens.SHORTALPHANUMID, yytext, source, yypos)(*#line 10735.1 "ml.lex.sml"*)
++ end
++| 427 => let val yytext=yymktext() in (*#line 362.5 "ml.lex"*)case yytext of
++       "*" => tok (Tokens.ASTERISK, yytext, source, yypos)
++     | _ => tok' (Tokens.SHORTSYMID, yytext, source, yypos)(*#line 10739.1 "ml.lex.sml"*)
++ end
++| 430 => let val yytext=yymktext() in (*#line 365.24 "ml.lex"*)tok' (Tokens.TYVAR, yytext, source, yypos)(*#line 10741.1 "ml.lex.sml"*)
++ end
++| 439 => let val yytext=yymktext() in (*#line 366.31 "ml.lex"*)tok' (Tokens.LONGALPHANUMID, yytext, source, yypos)(*#line 10743.1 "ml.lex.sml"*)
++ end
++| 486 => let val yytext=yymktext() in (*#line 367.26 "ml.lex"*)tok' (Tokens.LONGSYMID, yytext, source, yypos)(*#line 10745.1 "ml.lex.sml"*)
++ end
++| 512 => let val yytext=yymktext() in (*#line 371.5 "ml.lex"*)real (source, yypos, yytext)(*#line 10747.1 "ml.lex.sml"*)
++ end
++| 516 => let val yytext=yymktext() in (*#line 373.5 "ml.lex"*)int (source, yypos, yytext, 0, {extended = NONE}, {negate = false}, StringCvt.DEC)(*#line 10749.1 "ml.lex.sml"*)
++ end
++| 521 => let val yytext=yymktext() in (*#line 375.5 "ml.lex"*)int (source, yypos, yytext, 1, {extended = NONE}, {negate = true}, StringCvt.DEC)(*#line 10751.1 "ml.lex.sml"*)
++ end
++| 527 => let val yytext=yymktext() in (*#line 377.5 "ml.lex"*)int (source, yypos, yytext, 2, {extended = NONE}, {negate = false}, StringCvt.HEX)(*#line 10753.1 "ml.lex.sml"*)
++ end
++| 534 => let val yytext=yymktext() in (*#line 379.5 "ml.lex"*)int (source, yypos, yytext, 3, {extended = NONE}, {negate = true}, StringCvt.HEX)(*#line 10755.1 "ml.lex.sml"*)
++ end
++| 540 => let val yytext=yymktext() in (*#line 381.5 "ml.lex"*)int (source, yypos, yytext, 2, {extended = SOME "binary notation"}, {negate = false}, StringCvt.BIN)(*#line 10757.1 "ml.lex.sml"*)
++ end
++| 547 => let val yytext=yymktext() in (*#line 383.5 "ml.lex"*)int (source, yypos, yytext, 3, {extended = SOME "binary notation"}, {negate = true}, StringCvt.BIN)(*#line 10759.1 "ml.lex.sml"*)
++ end
++| 55 => let val yytext=yymktext() in (*#line 290.36 "ml.lex"*)tok (Tokens.COMMAND_LINE_CONST, yytext, source, yypos)(*#line 10761.1 "ml.lex.sml"*)
++ end
++| 553 => let val yytext=yymktext() in (*#line 385.5 "ml.lex"*)word (source, yypos, yytext, 2, {extended = NONE}, StringCvt.DEC)(*#line 10763.1 "ml.lex.sml"*)
++ end
++| 560 => let val yytext=yymktext() in (*#line 387.5 "ml.lex"*)word (source, yypos, yytext, 3, {extended = NONE}, StringCvt.HEX)(*#line 10765.1 "ml.lex.sml"*)
++ end
++| 567 => let val yytext=yymktext() in (*#line 389.5 "ml.lex"*)word (source, yypos, yytext, 3, {extended = SOME "binary notation"}, StringCvt.BIN)(*#line 10767.1 "ml.lex.sml"*)
++ end
++| 569 => ((*#line 392.5 "ml.lex"*)startText (Source.getPos (source, yypos), fn (cs, l, r) =>
++               (YYBEGIN INITIAL;
++                Tokens.STRING (cs, l, r)))
++    ; YYBEGIN TEXT
++    ; continue ()(*#line 10773.1 "ml.lex.sml"*)
++)
++| 572 => ((*#line 398.5 "ml.lex"*)startText (Source.getPos (source, yypos), fn (cs, l, r) =>
++               let
++                  fun err () =
++                     error' (l, r, "character constant not of size 1")
++                  val c =
++                     case Int.compare (Vector.length cs, 1) of
++                        LESS => (err (); 0)
++                      | EQUAL => Vector.sub (cs, 0)
++                      | GREATER => (err (); Vector.sub (cs, 0))
++               in
++                  YYBEGIN INITIAL;
++                  Tokens.CHAR (c, l, r)
++               end)
++    ; YYBEGIN TEXT
++    ; continue ()(*#line 10789.1 "ml.lex.sml"*)
++)
++| 574 => let val yytext=yymktext() in (*#line 414.22 "ml.lex"*)finishText (Source.getPos (source, lastPos (yypos, yytext)))(*#line 10791.1 "ml.lex.sml"*)
++ end
++| 579 => let val yytext=yymktext() in (*#line 416.22 "ml.lex"*)addTextString yytext; continue ()(*#line 10793.1 "ml.lex.sml"*)
++ end
++| 582 => let val yytext=yymktext() in (*#line 418.22 "ml.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 10795.1 "ml.lex.sml"*)
++ end
++| 586 => let val yytext=yymktext() in (*#line 420.22 "ml.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 10797.1 "ml.lex.sml"*)
++ end
++| 591 => let val yytext=yymktext() in (*#line 422.22 "ml.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 10799.1 "ml.lex.sml"*)
++ end
++| 594 => ((*#line 423.22 "ml.lex"*)addTextChar #"\a"; continue ()(*#line 10801.1 "ml.lex.sml"*)
++)
++| 597 => ((*#line 424.22 "ml.lex"*)addTextChar #"\b"; continue ()(*#line 10803.1 "ml.lex.sml"*)
++)
++| 600 => ((*#line 425.22 "ml.lex"*)addTextChar #"\t"; continue ()(*#line 10805.1 "ml.lex.sml"*)
++)
++| 603 => ((*#line 426.22 "ml.lex"*)addTextChar #"\n"; continue ()(*#line 10807.1 "ml.lex.sml"*)
++)
++| 606 => ((*#line 427.22 "ml.lex"*)addTextChar #"\v"; continue ()(*#line 10809.1 "ml.lex.sml"*)
++)
++| 609 => ((*#line 428.22 "ml.lex"*)addTextChar #"\f"; continue ()(*#line 10811.1 "ml.lex.sml"*)
++)
++| 612 => ((*#line 429.22 "ml.lex"*)addTextChar #"\r"; continue ()(*#line 10813.1 "ml.lex.sml"*)
++)
++| 616 => let val yytext=yymktext() in (*#line 430.22 "ml.lex"*)addTextChar (Char.chr(Char.ord(String.sub(yytext, 2)) - Char.ord #"@"));
++                     continue ()(*#line 10816.1 "ml.lex.sml"*)
++ end
++| 62 => let val yytext=yymktext() in (*#line 291.23 "ml.lex"*)tok (Tokens.CONST, yytext, source, yypos)(*#line 10818.1 "ml.lex.sml"*)
++ end
++| 620 => ((*#line 432.22 "ml.lex"*)error (source, yypos, yypos + 2, "Illegal control escape in text constant; must be one of @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_");
++                     continue ()(*#line 10821.1 "ml.lex.sml"*)
++)
++| 625 => let val yytext=yymktext() in (*#line 434.22 "ml.lex"*)addTextNumEsc (source, yypos, yytext, 1,
++                                    {extended = NONE}, StringCvt.DEC)
++                     ; continue ()(*#line 10825.1 "ml.lex.sml"*)
++ end
++| 632 => let val yytext=yymktext() in (*#line 438.22 "ml.lex"*)addTextNumEsc (source, yypos, yytext, 2,
++                                    {extended = NONE}, StringCvt.HEX)
++                     ; continue ()(*#line 10829.1 "ml.lex.sml"*)
++ end
++| 643 => let val yytext=yymktext() in (*#line 442.22 "ml.lex"*)addTextNumEsc (source, yypos, yytext, 2,
++                                    {extended = SOME "\\Uxxxxxxxx numeric escapes"},
++                                    StringCvt.HEX)
++                     ; continue ()(*#line 10834.1 "ml.lex.sml"*)
++ end
++| 646 => ((*#line 446.22 "ml.lex"*)addTextString "\""; continue ()(*#line 10836.1 "ml.lex.sml"*)
++)
++| 649 => ((*#line 447.22 "ml.lex"*)addTextString "\\"; continue ()(*#line 10838.1 "ml.lex.sml"*)
++)
++| 659 => ((*#line 448.22 "ml.lex"*)YYBEGIN TEXT_FMT; continue ()(*#line 10840.1 "ml.lex.sml"*)
++)
++| 665 => let val yytext=yymktext() in (*#line 449.22 "ml.lex"*)Source.newline (source, lastPos (yypos, yytext)); YYBEGIN TEXT_FMT; continue ()(*#line 10842.1 "ml.lex.sml"*)
++ end
++| 667 => ((*#line 450.22 "ml.lex"*)error (source, yypos, yypos + 1, "Illegal escape in text constant")
++                     ; continue ()(*#line 10845.1 "ml.lex.sml"*)
++)
++| 672 => let val yytext=yymktext() in (*#line 452.22 "ml.lex"*)error (source, yypos, lastPos (yypos, yytext), "Unclosed text constant at end of line")
++                     ; Source.newline (source, lastPos (yypos, yytext))
++                     ; continue ()(*#line 10849.1 "ml.lex.sml"*)
++ end
++| 674 => ((*#line 455.22 "ml.lex"*)error (source, yypos, yypos, "Illegal character in text constant")
++                     ; continue ()(*#line 10852.1 "ml.lex.sml"*)
++)
++| 683 => ((*#line 458.22 "ml.lex"*)continue ()(*#line 10854.1 "ml.lex.sml"*)
++)
++| 688 => let val yytext=yymktext() in (*#line 459.22 "ml.lex"*)Source.newline (source, lastPos (yypos, yytext)); continue ()(*#line 10856.1 "ml.lex.sml"*)
++ end
++| 690 => ((*#line 460.22 "ml.lex"*)YYBEGIN TEXT; continue ()(*#line 10858.1 "ml.lex.sml"*)
++)
++| 692 => ((*#line 461.22 "ml.lex"*)error (source, yypos, yypos, "Illegal formatting character in text continuation")
++                     ; continue ()(*#line 10861.1 "ml.lex.sml"*)
++)
++| 696 => let val yytext=yymktext() in (*#line 466.5 "ml.lex"*)if allowLineComments ()
++       then ()
++       else error (source, yypos, lastPos (yypos, yytext),
++                   "Line comments disallowed, compile with -default-ann 'allowLineComments true'")
++    ; startComment (source, yypos, fn () =>
++                    YYBEGIN INITIAL)
++    ; YYBEGIN LINE_COMMENT
++    ; continue ()(*#line 10870.1 "ml.lex.sml"*)
++ end
++| 699 => ((*#line 475.5 "ml.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 10875.1 "ml.lex.sml"*)
++)
++| 70 => let val yytext=yymktext() in (*#line 292.24 "ml.lex"*)tok (Tokens.EXPORT, yytext, source, yypos)(*#line 10877.1 "ml.lex.sml"*)
++ end
++| 704 => let val yytext=yymktext() in (*#line 481.5 "ml.lex"*)finishComment (lastPos (yypos, yytext))
++    ; Source.newline (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 10881.1 "ml.lex.sml"*)
++ end
++| 706 => ((*#line 485.5 "ml.lex"*)continue ()(*#line 10883.1 "ml.lex.sml"*)
++)
++| 710 => let val yytext=yymktext() in (*#line 488.5 "ml.lex"*)if allowLineComments ()
++       then ()
++       else error (source, yypos, lastPos (yypos, yytext),
++                   "Line comments disallowed, compile with -default-ann 'allowLineComments true'")
++    ; startComment (source, yypos, fn () =>
++                    YYBEGIN BLOCK_COMMENT)
++    ; YYBEGIN LINE_COMMENT
++    ; continue ()(*#line 10892.1 "ml.lex.sml"*)
++ end
++| 713 => ((*#line 497.5 "ml.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN BLOCK_COMMENT)
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 10897.1 "ml.lex.sml"*)
++)
++| 716 => let val yytext=yymktext() in (*#line 502.5 "ml.lex"*)finishComment (lastPos (yypos,yytext))
++    ; continue ()(*#line 10900.1 "ml.lex.sml"*)
++ end
++| 721 => let val yytext=yymktext() in (*#line 505.5 "ml.lex"*)Source.newline (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 10903.1 "ml.lex.sml"*)
++ end
++| 723 => ((*#line 508.5 "ml.lex"*)continue ()(*#line 10905.1 "ml.lex.sml"*)
++)
++| 739 => ((*#line 512.5 "ml.lex"*)startLineDir (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN LINE_DIR1
++    ; continue ()(*#line 10910.1 "ml.lex.sml"*)
++)
++| 745 => let val yytext=yymktext() in (*#line 518.5 "ml.lex"*)let
++       fun err () =
++          (addCommentError "Illegal line directive"
++           ; YYBEGIN BLOCK_COMMENT)
++     in
++        case String.split (yytext, #".") of
++           [line, col] =>
++              (YYBEGIN LINE_DIR2
++               ; addLineDirLineCol (valOf (Int.fromString line), valOf (Int.fromString col))
++                 handle Overflow => err () | Option => err ()
++               ; continue ())
++         | _ => (err (); continue ())
++     end(*#line 10924.1 "ml.lex.sml"*)
++ end
++| 755 => ((*#line 532.5 "ml.lex"*)YYBEGIN LINE_DIR3
++    ; continue ()(*#line 10927.1 "ml.lex.sml"*)
++)
++| 758 => let val yytext=yymktext() in (*#line 535.5 "ml.lex"*)addLineDirFile (String.dropLast yytext)
++    ; YYBEGIN LINE_DIR4
++    ; continue ()(*#line 10931.1 "ml.lex.sml"*)
++ end
++| 765 => let val yytext=yymktext() in (*#line 539.5 "ml.lex"*)finishLineDir (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 10934.1 "ml.lex.sml"*)
++ end
++| 767 => ((*#line 542.5 "ml.lex"*)addCommentError "Illegal line directive"
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 10938.1 "ml.lex.sml"*)
++)
++| 78 => let val yytext=yymktext() in (*#line 293.24 "ml.lex"*)tok (Tokens.IMPORT, yytext, source, yypos)(*#line 10940.1 "ml.lex.sml"*)
++ end
++| 797 => let val yytext=yymktext() in (*#line 548.5 "ml.lex"*)let
++       val file = List.nth (String.split (yytext, #"\""), 1)
++       val file =
++         if OS.Path.isAbsolute file
++            then file
++            else OS.Path.mkCanonical (OS.Path.concat (OS.Path.dir (Source.name source), file))
++   in
++       tok' (fn (_, l, r) => Tokens.SHOW_BASIS (file, l, r), yytext, source, yypos)
++   end(*#line 10950.1 "ml.lex.sml"*)
++ end
++| 799 => ((*#line 560.5 "ml.lex"*)error (source, yypos, yypos, "Illegal token")
++    ; continue ()(*#line 10953.1 "ml.lex.sml"*)
++)
++| 8 => ((*#line 284.21 "ml.lex"*)continue ()(*#line 10955.1 "ml.lex.sml"*)
++)
++| 88 => let val yytext=yymktext() in (*#line 294.26 "ml.lex"*)tok (Tokens.OVERLOAD, yytext, source, yypos)(*#line 10957.1 "ml.lex.sml"*)
++ end
++| 94 => let val yytext=yymktext() in (*#line 295.22 "ml.lex"*)tok (Tokens.PRIM, yytext, source, yypos)(*#line 10959.1 "ml.lex.sml"*)
++ end
++| _ => raise Internal.LexerError
++
++		) end )
++
++	val {fin,trans} = Vector.sub(Internal.tab, s)
++	val NewAcceptingLeaves = fin::AcceptingLeaves
++	in if l = !yybl then
++	     if trans = #trans(Vector.sub(Internal.tab,0))
++	       then action(l,NewAcceptingLeaves
++) else	    let val newchars= if !yydone then "" else yyinput 1024
++	    in if (String.size newchars)=0
++		  then (yydone := true;
++		        if (l=i0) then UserDeclarations.eof yyarg
++		                  else action(l,NewAcceptingLeaves))
++		  else (if i0=l then yyb := newchars
++		     else yyb := String.substring(!yyb,i0,l-i0)^newchars;
++		     yygone := YYPosInt.+(!yygone, YYPosInt.fromInt i0);
++		     yybl := String.size (!yyb);
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
++	  else let val NewChar = Char.ord(CharVector.sub(!yyb,l))
++		val NewState = Vector.sub(trans, NewChar)
++		in if NewState=0 then action(l,NewAcceptingLeaves)
++		else scan(NewState,NewAcceptingLeaves,l+1,i0)
++	end
++	end
++(*
++	val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
++then !yybegin+1 else !yybegin
++*)
++	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++end
+diff --git a/mlton/front-end/mlb.grm.sig.boot b/mlton/front-end/mlb.grm.sig.boot
+new file mode 100644
+index 000000000..66ca84bf9
+--- /dev/null
++++ b/mlton/front-end/mlb.grm.sig.boot
+@@ -0,0 +1,32 @@
++signature MLB_TOKENS =
++sig
++type ('a,'b) token
++type svalue
++val STRING: (string) *  'a * 'a -> (svalue,'a) token
++val FILE: (string) *  'a * 'a -> (svalue,'a) token
++val PRIM:  'a * 'a -> (svalue,'a) token
++val ANN:  'a * 'a -> (svalue,'a) token
++val STRUCTURE:  'a * 'a -> (svalue,'a) token
++val SIGNATURE:  'a * 'a -> (svalue,'a) token
++val OPEN:  'a * 'a -> (svalue,'a) token
++val LOCAL:  'a * 'a -> (svalue,'a) token
++val LET:  'a * 'a -> (svalue,'a) token
++val IN:  'a * 'a -> (svalue,'a) token
++val FUNCTOR:  'a * 'a -> (svalue,'a) token
++val EQUALOP:  'a * 'a -> (svalue,'a) token
++val END:  'a * 'a -> (svalue,'a) token
++val BASIS:  'a * 'a -> (svalue,'a) token
++val BAS:  'a * 'a -> (svalue,'a) token
++val AND:  'a * 'a -> (svalue,'a) token
++val EOF:  'a * 'a -> (svalue,'a) token
++val SEMICOLON:  'a * 'a -> (svalue,'a) token
++val COMMA:  'a * 'a -> (svalue,'a) token
++val ID: (string) *  'a * 'a -> (svalue,'a) token
++end
++signature MLB_LRVALS=
++sig
++structure Tokens : MLB_TOKENS
++structure ParserData:PARSER_DATA
++sharing type ParserData.Token.token = Tokens.token
++sharing type ParserData.svalue = Tokens.svalue
++end
+diff --git a/mlton/front-end/mlb.grm.sml.boot b/mlton/front-end/mlb.grm.sml.boot
+new file mode 100644
+index 000000000..3843eb289
+--- /dev/null
++++ b/mlton/front-end/mlb.grm.sml.boot
+@@ -0,0 +1,721 @@
++functor MLBLrValsFun (structure Token: TOKEN
++                               structure Ast: AST
++                               val lexAndParseProgOrMLB: File.t * Region.t ->
++                                                         Ast.Basdec.node) = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(*#line 1.2 "mlb.grm"*)(* Copyright (C) 2009 Matthew Fluet.
++ * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
++ *    Jagannathan, and Stephen Weeks.
++ * Copyright (C) 1997-2000 NEC Research Institute.
++ *
++ * MLton is released under a HPND-style license.
++ * See the file MLton-LICENSE for details.
++ *)
++
++fun reg (left, right) = Region.make {left = left, right = right}
++fun error (reg, msg) = Control.error (reg, Layout.str msg, Layout.empty)
++
++open Ast
++
++type fctbinds = {lhs: Fctid.t, rhs: Fctid.t} list
++type sigbinds = {lhs: Sigid.t, rhs: Sigid.t} list
++type strbinds = {lhs: Strid.t, rhs: Strid.t} list
++
++type basbinds = {name: Basid.t, def: Basexp.t} list
++
++  
++(*#line 31.1 "mlb.grm.sml"*)
++end
++structure LrTable = Token.LrTable
++structure Token = Token
++local open LrTable in 
++val table=let val actionRows =
++"\
++\\001\000\001\000\025\000\000\000\
++\\001\000\001\000\025\000\006\000\070\000\012\000\069\000\000\000\
++\\001\000\004\000\000\000\000\000\
++\\001\000\008\000\071\000\000\000\
++\\001\000\008\000\074\000\000\000\
++\\001\000\008\000\082\000\000\000\
++\\001\000\008\000\084\000\000\000\
++\\001\000\009\000\053\000\000\000\
++\\001\000\011\000\039\000\000\000\
++\\001\000\011\000\049\000\000\000\
++\\001\000\011\000\081\000\000\000\
++\\001\000\020\000\021\000\000\000\
++\\086\000\000\000\
++\\087\000\000\000\
++\\088\000\003\000\017\000\007\000\016\000\010\000\015\000\013\000\014\000\
++\\014\000\013\000\015\000\012\000\016\000\011\000\017\000\010\000\
++\\018\000\009\000\019\000\008\000\020\000\007\000\000\000\
++\\089\000\000\000\
++\\090\000\000\000\
++\\091\000\000\000\
++\\092\000\000\000\
++\\093\000\000\000\
++\\094\000\000\000\
++\\095\000\000\000\
++\\096\000\000\000\
++\\097\000\000\000\
++\\098\000\000\000\
++\\099\000\000\000\
++\\100\000\000\000\
++\\101\000\000\000\
++\\102\000\000\000\
++\\103\000\000\000\
++\\104\000\000\000\
++\\105\000\005\000\052\000\000\000\
++\\105\000\005\000\052\000\009\000\051\000\000\000\
++\\106\000\000\000\
++\\107\000\000\000\
++\\108\000\000\000\
++\\109\000\000\000\
++\\110\000\005\000\047\000\000\000\
++\\110\000\005\000\047\000\009\000\046\000\000\000\
++\\111\000\000\000\
++\\112\000\000\000\
++\\113\000\000\000\
++\\114\000\000\000\
++\\115\000\005\000\044\000\000\000\
++\\115\000\005\000\044\000\009\000\043\000\000\000\
++\\116\000\000\000\
++\\117\000\000\000\
++\\118\000\000\000\
++\\119\000\005\000\077\000\000\000\
++\\120\000\000\000\
++\\121\000\000\000\
++\\122\000\000\000\
++\\123\000\000\000\
++\\124\000\000\000\
++\\125\000\000\000\
++\\126\000\001\000\025\000\000\000\
++\\127\000\000\000\
++\\128\000\000\000\
++\\129\000\000\000\
++\\130\000\000\000\
++\\131\000\000\000\
++\\132\000\000\000\
++\\133\000\000\000\
++\\134\000\020\000\021\000\000\000\
++\\135\000\000\000\
++\"
++val actionRowNumbers =
++"\014\000\013\000\012\000\017\000\
++\\014\000\025\000\024\000\026\000\
++\\011\000\000\000\000\000\000\000\
++\\014\000\000\000\000\000\014\000\
++\\016\000\008\000\063\000\061\000\
++\\044\000\020\000\059\000\060\000\
++\\038\000\019\000\058\000\054\000\
++\\023\000\055\000\009\000\057\000\
++\\032\000\018\000\007\000\021\000\
++\\015\000\014\000\062\000\064\000\
++\\041\000\000\000\000\000\035\000\
++\\000\000\000\000\056\000\014\000\
++\\029\000\000\000\000\000\001\000\
++\\003\000\043\000\040\000\045\000\
++\\037\000\034\000\039\000\004\000\
++\\031\000\028\000\033\000\052\000\
++\\050\000\048\000\046\000\014\000\
++\\014\000\027\000\042\000\036\000\
++\\022\000\030\000\047\000\000\000\
++\\010\000\005\000\049\000\001\000\
++\\051\000\006\000\053\000\002\000"
++val gotoT =
++"\
++\\007\000\004\000\008\000\003\000\009\000\002\000\010\000\001\000\
++\\020\000\083\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\004\000\008\000\003\000\009\000\016\000\010\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\018\000\002\000\017\000\000\000\
++\\019\000\022\000\025\000\021\000\028\000\020\000\000\000\
++\\019\000\026\000\021\000\025\000\024\000\024\000\000\000\
++\\013\000\029\000\014\000\028\000\019\000\027\000\000\000\
++\\007\000\004\000\008\000\003\000\009\000\030\000\010\000\001\000\000\000\
++\\015\000\033\000\018\000\032\000\019\000\031\000\000\000\
++\\004\000\035\000\013\000\034\000\019\000\027\000\000\000\
++\\007\000\004\000\008\000\003\000\009\000\036\000\010\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\001\000\018\000\002\000\039\000\003\000\038\000\000\000\
++\\000\000\
++\\027\000\040\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\023\000\043\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\013\000\029\000\014\000\046\000\019\000\027\000\000\000\
++\\000\000\
++\\000\000\
++\\017\000\048\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\004\000\008\000\003\000\009\000\052\000\010\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\019\000\022\000\026\000\054\000\028\000\053\000\000\000\
++\\019\000\022\000\025\000\055\000\028\000\020\000\000\000\
++\\000\000\
++\\019\000\026\000\022\000\057\000\024\000\056\000\000\000\
++\\019\000\026\000\021\000\058\000\024\000\024\000\000\000\
++\\000\000\
++\\007\000\004\000\008\000\003\000\009\000\059\000\010\000\001\000\000\000\
++\\000\000\
++\\016\000\061\000\018\000\060\000\019\000\031\000\000\000\
++\\015\000\062\000\018\000\032\000\019\000\031\000\000\000\
++\\005\000\066\000\011\000\065\000\012\000\064\000\013\000\063\000\
++\\019\000\027\000\000\000\
++\\000\000\
++\\027\000\070\000\000\000\
++\\000\000\
++\\000\000\
++\\023\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\017\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\006\000\074\000\000\000\
++\\000\000\
++\\007\000\004\000\008\000\003\000\009\000\076\000\010\000\001\000\000\000\
++\\007\000\004\000\008\000\003\000\009\000\077\000\010\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\004\000\078\000\013\000\034\000\019\000\027\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\011\000\081\000\012\000\064\000\013\000\063\000\019\000\027\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 84
++val numrules = 50
++val s = ref "" and index = ref 0
++val string_to_int = fn () => 
++let val i = !index
++in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
++end
++val string_to_list = fn s' =>
++    let val len = String.size s'
++        fun f () =
++           if !index < len then string_to_int() :: f()
++           else nil
++   in index := 0; s := s'; f ()
++   end
++val string_to_pairlist = fn (conv_key,conv_entry) =>
++     let fun f () =
++         case string_to_int()
++         of 0 => EMPTY
++          | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
++     in f
++     end
++val string_to_pairlist_default = fn (conv_key,conv_entry) =>
++    let val conv_row = string_to_pairlist(conv_key,conv_entry)
++    in fn () =>
++       let val default = conv_entry(string_to_int())
++           val row = conv_row()
++       in (row,default)
++       end
++   end
++val string_to_table = fn (convert_row,s') =>
++    let val len = String.size s'
++        fun f ()=
++           if !index < len then convert_row() :: f()
++           else nil
++     in (s := s'; index := 0; f ())
++     end
++local
++  val memo = Array.array(numstates+numrules,ERROR)
++  val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
++       fun f i =
++            if i=numstates then g i
++            else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
++          in f 0 handle Pervasive.General.Subscript => ()
++          end
++in
++val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
++end
++val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
++val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
++val actionRowNumbers = string_to_list actionRowNumbers
++val actionT = let val actionRowLookUp=
++let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
++in Array.fromList(Pervasive.List.map actionRowLookUp actionRowNumbers)
++end
++in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
++numStates=numstates,initialState=STATE 0}
++end
++end
++local open Header in
++type pos = SourcePos.t
++type arg = unit
++structure MlyValue = 
++struct
++datatype svalue = VOID | ntVOID of unit ->  unit | STRING of unit ->  (string) | FILE of unit ->  (string) | ID of unit ->  (string) | strid of unit ->  (Strid.t) | strbinds'' of unit ->  (strbinds) | strbinds' of unit ->  (Strid.t*strbinds) | strbinds of unit ->  (strbinds) | sigid of unit ->  (Sigid.t) | sigbinds'' of unit ->  (sigbinds) | sigbinds' of unit ->  (Sigid.t*sigbinds) | sigbinds of unit ->  (sigbinds) | mlb of unit ->  (Basdec.t) | id of unit ->  (Symbol.t*Region.t) | fctid of unit ->  (Fctid.t) | fctbinds'' of unit ->  (fctbinds) | fctbinds' of unit ->  (Fctid.t*fctbinds) | fctbinds of unit ->  (fctbinds) | basids of unit ->  (Basid.t list) | basid of unit ->  (Basid.t) | basexpnode of unit ->  (Basexp.node) | basexp of unit ->  (Basexp.t) | basdecsnode of unit ->  (Basdec.node) | basdecs of unit ->  (Basdec.t) | basdecnode of unit ->  (Basdec.node) | basdec of unit ->  (Basdec.t) | basbinds'' of unit ->  (basbinds) | basbinds' of unit ->  (Basexp.t*basbinds) | basbinds of unit ->  (basbinds) | annStar of unit ->  ( ( string * Region.t )  list) | annPlus of unit ->  ( ( string * Region.t )  list) | ann of unit ->  (string*Region.t)
++end
++type svalue = MlyValue.svalue
++type result = Basdec.t
++end
++structure EC=
++struct
++open LrTable
++infix 5 $$
++fun x $$ y = y::x
++val is_keyword =
++fn (T 4) => true | (T 5) => true | (T 6) => true | (T 7) => true | (T 9) => true | (T 10) => true | (T 11) => true | (T 12) => true | (T 13) => true | (T 14) => true | (T 15) => true | (T 16) => true | (T 17) => true | _ => false
++val preferred_change : (term list * term list) list = 
++(nil
++,nil
++ $$ (T 2))::
++(nil
++,nil
++ $$ (T 7) $$ (T 0) $$ (T 10))::
++nil
++val noShift = 
++fn (T 3) => true | _ => false
++val showTerminal =
++fn (T 0) => "ID"
++  | (T 1) => "COMMA"
++  | (T 2) => "SEMICOLON"
++  | (T 3) => "EOF"
++  | (T 4) => "AND"
++  | (T 5) => "BAS"
++  | (T 6) => "BASIS"
++  | (T 7) => "END"
++  | (T 8) => "EQUALOP"
++  | (T 9) => "FUNCTOR"
++  | (T 10) => "IN"
++  | (T 11) => "LET"
++  | (T 12) => "LOCAL"
++  | (T 13) => "OPEN"
++  | (T 14) => "SIGNATURE"
++  | (T 15) => "STRUCTURE"
++  | (T 16) => "ANN"
++  | (T 17) => "PRIM"
++  | (T 18) => "FILE"
++  | (T 19) => "STRING"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn (T 0) => MlyValue.ID(fn () => ("bogus")) | 
++_ => MlyValue.VOID
++end
++val terms : term list = nil
++ $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 14) $$ (T 13) $$ (T 12) $$ (T 11) $$ (T 10) $$ (T 9) $$ (T 8) $$ (T 7) $$ (T 6) $$ (T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1)end
++structure Actions =
++struct 
++exception mlyAction of int
++local open Header in
++val actions = 
++fn (i392,defaultPos,stack,
++    (()):arg) =>
++case (i392,stack)
++of  ( 0, ( ( _, ( MlyValue.basdecs basdecs1, basdecs1left, basdecs1right)) :: rest671)) => let val  result = MlyValue.mlb (fn _ => let val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 80.16 "mlb.grm"*)basdecs(*#line 339.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 19, ( result, basdecs1left, basdecs1right), rest671)
++end
++|  ( 1, ( ( _, ( MlyValue.basdecsnode basdecsnode1, (basdecsnodeleft as basdecsnode1left), (basdecsnoderight as basdecsnode1right))) :: rest671)) => let val  result = MlyValue.basdecs (fn _ => let val  (basdecsnode as basdecsnode1) = basdecsnode1 ()
++ in ((*#line 83.24 "mlb.grm"*)Basdec.makeRegion' 
++                       (basdecsnode, basdecsnodeleft, basdecsnoderight)(*#line 345.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 8, ( result, basdecsnode1left, basdecsnode1right), rest671)
++end
++|  ( 2, ( rest671)) => let val  result = MlyValue.basdecsnode (fn _ => ((*#line 86.35 "mlb.grm"*)Basdec.Seq [](*#line 352.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 9, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 3, ( ( _, ( MlyValue.basdecs basdecs1, _, basdecs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.basdecsnode (fn _ => let val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 87.35 "mlb.grm"*)Basdec.Seq [basdecs](*#line 356.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, SEMICOLON1left, basdecs1right), rest671)
++end
++|  ( 4, ( ( _, ( MlyValue.basdecs basdecs1, _, basdecs1right)) :: ( _, ( MlyValue.basdec basdec1, basdec1left, _)) :: rest671)) => let val  result = MlyValue.basdecsnode (fn _ => let val  (basdec as basdec1) = basdec1 ()
++ val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 88.35 "mlb.grm"*)Basdec.Seq [basdec, basdecs](*#line 362.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, basdec1left, basdecs1right), rest671)
++end
++|  ( 5, ( ( _, ( MlyValue.basdecnode basdecnode1, (basdecnodeleft as basdecnode1left), (basdecnoderight as basdecnode1right))) :: rest671)) => let val  result = MlyValue.basdec (fn _ => let val  (basdecnode as basdecnode1) = basdecnode1 ()
++ in ((*#line 90.22 "mlb.grm"*)Basdec.makeRegion'
++                     (basdecnode, basdecnodeleft, basdecnoderight)(*#line 369.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 6, ( result, basdecnode1left, basdecnode1right), rest671)
++end
++|  ( 6, ( ( _, ( MlyValue.fctbinds fctbinds1, _, (fctbindsright as fctbinds1right))) :: ( _, ( _, (FUNCTORleft as FUNCTOR1left), _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (fctbinds as fctbinds1) = fctbinds1 ()
++ in ((*#line 95.7 "mlb.grm"*)let 
++         val fctbinds = Vector.fromList fctbinds
++      in 
++         Basdec.Defs (ModIdBind.makeRegion' (ModIdBind.Fct fctbinds, FUNCTORleft, fctbindsright))
++      end(*#line 376.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, FUNCTOR1left, fctbinds1right), rest671)
++end
++|  ( 7, ( ( _, ( MlyValue.sigbinds sigbinds1, _, (sigbindsright as sigbinds1right))) :: ( _, ( _, (SIGNATUREleft as SIGNATURE1left), _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (sigbinds as sigbinds1) = sigbinds1 ()
++ in ((*#line 101.7 "mlb.grm"*)let
++         val sigbinds = Vector.fromList sigbinds
++      in
++         Basdec.Defs (ModIdBind.makeRegion' (ModIdBind.Sig sigbinds, SIGNATUREleft, sigbindsright))
++      end(*#line 386.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, SIGNATURE1left, sigbinds1right), rest671)
++end
++|  ( 8, ( ( _, ( MlyValue.strbinds strbinds1, _, (strbindsright as strbinds1right))) :: ( _, ( _, (STRUCTUREleft as STRUCTURE1left), _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (strbinds as strbinds1) = strbinds1 ()
++ in ((*#line 107.7 "mlb.grm"*)let
++         val strbinds = Vector.fromList strbinds
++      in
++         Basdec.Defs (ModIdBind.makeRegion' (ModIdBind.Str strbinds, STRUCTUREleft, strbindsright))
++      end(*#line 396.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, STRUCTURE1left, strbinds1right), rest671)
++end
++|  ( 9, ( ( _, ( MlyValue.basbinds basbinds1, _, basbinds1right)) :: ( _, ( _, BASIS1left, _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (basbinds as basbinds1) = basbinds1 ()
++ in ((*#line 113.7 "mlb.grm"*)let
++         val basbinds = Vector.fromList basbinds
++      in
++         Basdec.Basis basbinds
++      end(*#line 406.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, BASIS1left, basbinds1right), rest671)
++end
++|  ( 10, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.basdecs basdecs2, _, _)) :: _ :: ( _, ( MlyValue.basdecs basdecs1, _, _)) :: ( _, ( _, LOCAL1left, _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  basdecs1 = basdecs1 ()
++ val  basdecs2 = basdecs2 ()
++ in ((*#line 118.37 "mlb.grm"*)Basdec.Local (basdecs1, basdecs2)(*#line 416.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, LOCAL1left, END1right), rest671)
++end
++|  ( 11, ( ( _, ( MlyValue.basids basids1, _, basids1right)) :: ( _, ( _, OPEN1left, _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (basids as basids1) = basids1 ()
++ in ((*#line 119.20 "mlb.grm"*)Basdec.Open (Vector.fromList basids)(*#line 423.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, OPEN1left, basids1right), rest671)
++end
++|  ( 12, ( ( _, ( MlyValue.FILE FILE1, (FILEleft as FILE1left), (FILEright as FILE1right))) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (FILE as FILE1) = FILE1 ()
++ in ((*#line 121.7 "mlb.grm"*)let val reg = reg (FILEleft, FILEright)
++      in lexAndParseProgOrMLB (FILE, reg)
++      end(*#line 429.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, FILE1left, FILE1right), rest671)
++end
++|  ( 13, ( ( _, ( MlyValue.STRING STRING1, (STRINGleft as STRING1left), (STRINGright as STRING1right))) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (STRING as STRING1) = STRING1 ()
++ in ((*#line 125.7 "mlb.grm"*)let val reg = reg (STRINGleft, STRINGright)
++      in lexAndParseProgOrMLB (STRING, reg)
++      end(*#line 437.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, STRING1left, STRING1right), rest671)
++end
++|  ( 14, ( ( _, ( _, PRIM1left, PRIM1right)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => ((*#line 128.12 "mlb.grm"*)Basdec.Prim(*#line 445.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 7, ( result, PRIM1left, PRIM1right), rest671)
++end
++|  ( 15, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.basdecs basdecs1, _, _)) :: _ :: ( _, ( MlyValue.annPlus annPlus1, _, _)) :: ( _, ( _, ANN1left, _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (annPlus as annPlus1) = annPlus1 ()
++ val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 130.7 "mlb.grm"*)let 
++        val extendRight = 
++          let val right = valOf (Region.right (Basdec.region basdecs))
++          in fn reg => Region.extendRight (reg, right)
++          end
++        fun mkAnn' ((ann,reg), basdecs) = Basdec.Ann (ann, reg, basdecs)
++        fun mkAnn ((ann,reg), basdecsnode) : Basdec.node =
++          mkAnn' ((ann,reg), Basdec.makeRegion (basdecsnode, extendRight reg))
++        val (anns,ann) = List.splitLast annPlus
++      in
++        List.fold(anns, mkAnn'(ann, basdecs), mkAnn)
++      end(*#line 449.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, ANN1left, END1right), rest671)
++end
++|  ( 16, ( ( _, ( MlyValue.fctbinds' fctbinds'1, _, fctbinds'1right)) :: _ :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.fctbinds (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (fctbinds' as fctbinds'1) = fctbinds'1 ()
++ in ((*#line 145.13 "mlb.grm"*)let val (def, fctbinds) = fctbinds'
++            in {lhs = fctid, rhs = def}
++               :: fctbinds
++            end(*#line 467.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, fctid1left, fctbinds'1right), rest671)
++end
++|  ( 17, ( ( _, ( MlyValue.fctbinds'' fctbinds''1, _, fctbinds''1right)) :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.fctbinds (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (fctbinds'' as fctbinds''1) = fctbinds''1 ()
++ in ((*#line 150.13 "mlb.grm"*){lhs = fctid, rhs = fctid} :: fctbinds''(*#line 477.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, fctid1left, fctbinds''1right), rest671)
++end
++|  ( 18, ( ( _, ( MlyValue.fctbinds'' fctbinds''1, _, fctbinds''1right)) :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.fctbinds' (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (fctbinds'' as fctbinds''1) = fctbinds''1 ()
++ in ((*#line 152.32 "mlb.grm"*)fctid, fctbinds''(*#line 484.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 15, ( result, fctid1left, fctbinds''1right), rest671)
++end
++|  ( 19, ( rest671)) => let val  result = MlyValue.fctbinds'' (fn _ => ((*#line 154.29 "mlb.grm"*)[](*#line 491.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 16, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 20, ( ( _, ( MlyValue.fctbinds fctbinds1, _, fctbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.fctbinds'' (fn _ => let val  (fctbinds as fctbinds1) = fctbinds1 ()
++ in ((*#line 155.29 "mlb.grm"*)fctbinds(*#line 495.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, AND1left, fctbinds1right), rest671)
++end
++|  ( 21, ( ( _, ( MlyValue.sigbinds' sigbinds'1, _, sigbinds'1right)) :: _ :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigbinds' as sigbinds'1) = sigbinds'1 ()
++ in ((*#line 158.13 "mlb.grm"*)let val (def, sigbinds) = sigbinds'
++            in {lhs = sigid, rhs = def}
++               :: sigbinds
++            end(*#line 501.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, sigid1left, sigbinds'1right), rest671)
++end
++|  ( 22, ( ( _, ( MlyValue.sigbinds'' sigbinds''1, _, sigbinds''1right)) :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigbinds'' as sigbinds''1) = sigbinds''1 ()
++ in ((*#line 163.13 "mlb.grm"*){lhs = sigid, rhs = sigid} :: sigbinds''(*#line 511.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, sigid1left, sigbinds''1right), rest671)
++end
++|  ( 23, ( ( _, ( MlyValue.sigbinds'' sigbinds''1, _, sigbinds''1right)) :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds' (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigbinds'' as sigbinds''1) = sigbinds''1 ()
++ in ((*#line 165.32 "mlb.grm"*)sigid, sigbinds''(*#line 518.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 21, ( result, sigid1left, sigbinds''1right), rest671)
++end
++|  ( 24, ( rest671)) => let val  result = MlyValue.sigbinds'' (fn _ => ((*#line 167.29 "mlb.grm"*)[](*#line 525.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 22, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 25, ( ( _, ( MlyValue.sigbinds sigbinds1, _, sigbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds'' (fn _ => let val  (sigbinds as sigbinds1) = sigbinds1 ()
++ in ((*#line 168.29 "mlb.grm"*)sigbinds(*#line 529.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 22, ( result, AND1left, sigbinds1right), rest671)
++end
++|  ( 26, ( ( _, ( MlyValue.strbinds' strbinds'1, _, strbinds'1right)) :: _ :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strbinds (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (strbinds' as strbinds'1) = strbinds'1 ()
++ in ((*#line 171.13 "mlb.grm"*)let val (def, strbinds) = strbinds'
++            in {lhs = strid, rhs = def}
++               :: strbinds
++            end(*#line 535.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 24, ( result, strid1left, strbinds'1right), rest671)
++end
++|  ( 27, ( ( _, ( MlyValue.strbinds'' strbinds''1, _, strbinds''1right)) :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strbinds (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (strbinds'' as strbinds''1) = strbinds''1 ()
++ in ((*#line 176.13 "mlb.grm"*){lhs = strid, rhs = strid} :: strbinds''(*#line 545.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 24, ( result, strid1left, strbinds''1right), rest671)
++end
++|  ( 28, ( ( _, ( MlyValue.strbinds'' strbinds''1, _, strbinds''1right)) :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strbinds' (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (strbinds'' as strbinds''1) = strbinds''1 ()
++ in ((*#line 178.32 "mlb.grm"*)strid, strbinds''(*#line 552.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 25, ( result, strid1left, strbinds''1right), rest671)
++end
++|  ( 29, ( rest671)) => let val  result = MlyValue.strbinds'' (fn _ => ((*#line 180.29 "mlb.grm"*)[](*#line 559.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 26, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 30, ( ( _, ( MlyValue.strbinds strbinds1, _, strbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.strbinds'' (fn _ => let val  (strbinds as strbinds1) = strbinds1 ()
++ in ((*#line 181.29 "mlb.grm"*)strbinds(*#line 563.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 26, ( result, AND1left, strbinds1right), rest671)
++end
++|  ( 31, ( ( _, ( MlyValue.basbinds' basbinds'1, _, basbinds'1right)) :: _ :: ( _, ( MlyValue.basid basid1, basid1left, _)) :: rest671)) => let val  result = MlyValue.basbinds (fn _ => let val  (basid as basid1) = basid1 ()
++ val  (basbinds' as basbinds'1) = basbinds'1 ()
++ in ((*#line 184.13 "mlb.grm"*)let val (def, basbinds) = basbinds'
++            in {name = basid, def = def}
++               :: basbinds
++            end(*#line 569.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, basid1left, basbinds'1right), rest671)
++end
++|  ( 32, ( ( _, ( MlyValue.basbinds'' basbinds''1, _, basbinds''1right)) :: ( _, ( MlyValue.basexp basexp1, basexp1left, _)) :: rest671)) => let val  result = MlyValue.basbinds' (fn _ => let val  (basexp as basexp1) = basexp1 ()
++ val  (basbinds'' as basbinds''1) = basbinds''1 ()
++ in ((*#line 189.33 "mlb.grm"*)basexp, basbinds''(*#line 579.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, basexp1left, basbinds''1right), rest671)
++end
++|  ( 33, ( rest671)) => let val  result = MlyValue.basbinds'' (fn _ => ((*#line 191.29 "mlb.grm"*)[](*#line 586.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 5, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 34, ( ( _, ( MlyValue.basbinds basbinds1, _, basbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.basbinds'' (fn _ => let val  (basbinds as basbinds1) = basbinds1 ()
++ in ((*#line 192.29 "mlb.grm"*)basbinds(*#line 590.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 5, ( result, AND1left, basbinds1right), rest671)
++end
++|  ( 35, ( ( _, ( MlyValue.basexpnode basexpnode1, (basexpnodeleft as basexpnode1left), (basexpnoderight as basexpnode1right))) :: rest671)) => let val  result = MlyValue.basexp (fn _ => let val  (basexpnode as basexpnode1) = basexpnode1 ()
++ in ((*#line 195.22 "mlb.grm"*)Basexp.makeRegion'
++                     (basexpnode, basexpnodeleft, basexpnoderight)(*#line 596.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, basexpnode1left, basexpnode1right), rest671)
++end
++|  ( 36, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.basdecs basdecs1, _, _)) :: ( _, ( _, BAS1left, _)) :: rest671)) => let val  result = MlyValue.basexpnode (fn _ => let val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 198.41 "mlb.grm"*)Basexp.Bas basdecs(*#line 603.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, BAS1left, END1right), rest671)
++end
++|  ( 37, ( ( _, ( MlyValue.basid basid1, basid1left, basid1right)) :: rest671)) => let val  result = MlyValue.basexpnode (fn _ => let val  (basid as basid1) = basid1 ()
++ in ((*#line 199.41 "mlb.grm"*)Basexp.Var basid(*#line 609.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, basid1left, basid1right), rest671)
++end
++|  ( 38, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.basexp basexp1, _, _)) :: _ :: ( _, ( MlyValue.basdecs basdecs1, _, _)) :: ( _, ( _, LET1left, _)) :: rest671)) => let val  result = MlyValue.basexpnode (fn _ => let val  (basdecs as basdecs1) = basdecs1 ()
++ val  (basexp as basexp1) = basexp1 ()
++ in ((*#line 200.41 "mlb.grm"*)Basexp.Let (basdecs, basexp)(*#line 615.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, LET1left, END1right), rest671)
++end
++|  ( 39, ( ( _, ( MlyValue.id id1, id1left, id1right)) :: rest671)) => let val  result = MlyValue.basid (fn _ => let val  (id as id1) = id1 ()
++ in ((*#line 202.14 "mlb.grm"*)Basid.fromSymbol id(*#line 622.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 12, ( result, id1left, id1right), rest671)
++end
++|  ( 40, ( ( _, ( MlyValue.basid basid1, basid1left, basid1right)) :: rest671)) => let val  result = MlyValue.basids (fn _ => let val  (basid as basid1) = basid1 ()
++ in ((*#line 203.17 "mlb.grm"*)[basid](*#line 628.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 13, ( result, basid1left, basid1right), rest671)
++end
++|  ( 41, ( ( _, ( MlyValue.basids basids1, _, basids1right)) :: ( _, ( MlyValue.basid basid1, basid1left, _)) :: rest671)) => let val  result = MlyValue.basids (fn _ => let val  (basid as basid1) = basid1 ()
++ val  (basids as basids1) = basids1 ()
++ in ((*#line 204.24 "mlb.grm"*)basid :: basids(*#line 634.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 13, ( result, basid1left, basids1right), rest671)
++end
++|  ( 42, ( ( _, ( MlyValue.id id1, id1left, id1right)) :: rest671)) => let val  result = MlyValue.fctid (fn _ => let val  (id as id1) = id1 ()
++ in ((*#line 205.14 "mlb.grm"*)Fctid.fromSymbol id(*#line 641.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 17, ( result, id1left, id1right), rest671)
++end
++|  ( 43, ( ( _, ( MlyValue.id id1, id1left, id1right)) :: rest671)) => let val  result = MlyValue.sigid (fn _ => let val  (id as id1) = id1 ()
++ in ((*#line 206.14 "mlb.grm"*)Sigid.fromSymbol id(*#line 647.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 23, ( result, id1left, id1right), rest671)
++end
++|  ( 44, ( ( _, ( MlyValue.id id1, id1left, id1right)) :: rest671)) => let val  result = MlyValue.strid (fn _ => let val  (id as id1) = id1 ()
++ in ((*#line 207.14 "mlb.grm"*)Strid.fromSymbol id(*#line 653.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 27, ( result, id1left, id1right), rest671)
++end
++|  ( 45, ( ( _, ( MlyValue.ID ID1, (IDleft as ID1left), (IDright as ID1right))) :: rest671)) => let val  result = MlyValue.id (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 208.14 "mlb.grm"*)Symbol.fromString ID, reg (IDleft, IDright)(*#line 659.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 18, ( result, ID1left, ID1right), rest671)
++end
++|  ( 46, ( ( _, ( MlyValue.STRING STRING1, (STRINGleft as STRING1left), (STRINGright as STRING1right))) :: rest671)) => let val  result = MlyValue.ann (fn _ => let val  (STRING as STRING1) = STRING1 ()
++ in ((*#line 211.16 "mlb.grm"*)STRING, reg (STRINGleft, STRINGright)(*#line 665.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, STRING1left, STRING1right), rest671)
++end
++|  ( 47, ( ( _, ( MlyValue.annStar annStar1, _, annStar1right)) :: ( _, ( MlyValue.ann ann1, ann1left, _)) :: rest671)) => let val  result = MlyValue.annPlus (fn _ => let val  (ann as ann1) = ann1 ()
++ val  (annStar as annStar1) = annStar1 ()
++ in ((*#line 213.24 "mlb.grm"*)ann::annStar(*#line 671.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, ann1left, annStar1right), rest671)
++end
++|  ( 48, ( rest671)) => let val  result = MlyValue.annStar (fn _ => ((*#line 215.21 "mlb.grm"*)[](*#line 678.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 2, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 49, ( ( _, ( MlyValue.annPlus annPlus1, annPlus1left, annPlus1right)) :: rest671)) => let val  result = MlyValue.annStar (fn _ => let val  (annPlus as annPlus1) = annPlus1 ()
++ in ((*#line 216.21 "mlb.grm"*)annPlus(*#line 682.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, annPlus1left, annPlus1right), rest671)
++end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID
++val extract = fn a => (fn MlyValue.mlb x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a ()
++end
++end
++structure Tokens : MLB_TOKENS =
++struct
++type svalue = ParserData.svalue
++type ('a,'b) token = ('a,'b) Token.token
++fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(ParserData.MlyValue.ID (fn () => i),p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(ParserData.MlyValue.VOID,p1,p2))
++fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(ParserData.MlyValue.VOID,p1,p2))
++fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(ParserData.MlyValue.VOID,p1,p2))
++fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(ParserData.MlyValue.VOID,p1,p2))
++fun BAS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(ParserData.MlyValue.VOID,p1,p2))
++fun BASIS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(ParserData.MlyValue.VOID,p1,p2))
++fun END (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(ParserData.MlyValue.VOID,p1,p2))
++fun EQUALOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(ParserData.MlyValue.VOID,p1,p2))
++fun FUNCTOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(ParserData.MlyValue.VOID,p1,p2))
++fun IN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(ParserData.MlyValue.VOID,p1,p2))
++fun LET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(ParserData.MlyValue.VOID,p1,p2))
++fun LOCAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(ParserData.MlyValue.VOID,p1,p2))
++fun OPEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(ParserData.MlyValue.VOID,p1,p2))
++fun SIGNATURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(ParserData.MlyValue.VOID,p1,p2))
++fun STRUCTURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(ParserData.MlyValue.VOID,p1,p2))
++fun ANN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(ParserData.MlyValue.VOID,p1,p2))
++fun PRIM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(ParserData.MlyValue.VOID,p1,p2))
++fun FILE (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(ParserData.MlyValue.FILE (fn () => i),p1,p2))
++fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(ParserData.MlyValue.STRING (fn () => i),p1,p2))
++end
++end
+diff --git a/mlton/front-end/mlb.lex.sml.boot b/mlton/front-end/mlb.lex.sml.boot
+new file mode 100644
+index 000000000..429b7bd55
+--- /dev/null
++++ b/mlton/front-end/mlb.lex.sml.boot
+@@ -0,0 +1,2771 @@
++(*#line 178.10 "mlb.lex"*)functor MLBLexFun (structure Tokens : MLB_TOKENS)(*#line 1.1 "mlb.lex.sml"*)
++=
++   struct
++    structure UserDeclarations =
++      struct
++(*#line 1.1 "mlb.lex"*)(* Copyright (C) 2009,2016,2017 Matthew Fluet.
++ * Copyright (C) 2004-2006 Henry Cejtin, Matthew Fluet, Suresh
++ *    Jagannathan, and Stephen Weeks.
++ *
++ * MLton is released under a HPND-style license.
++ * See the file MLton-LICENSE for details.
++ *)
++
++type svalue = Tokens.svalue
++type pos = SourcePos.t
++type lexresult = (svalue, pos) Tokens.token
++type lexarg = {source: Source.t}
++type arg = lexarg
++type ('a,'b) token = ('a,'b) Tokens.token
++
++fun lastPos (yypos, yytext) = yypos + size yytext - 1
++
++fun tok (t, x, s, l) =
++   let
++      val left = Source.getPos (s, l)
++      val right = Source.getPos (s, lastPos (l, x))
++   in
++      t (left, right)
++   end
++
++fun tok' (t, x, s, l) = tok (fn (l, r) => t (x, l, r), x, s, l)
++
++fun error' (left, right, msg) =
++   Control.errorStr (Region.make {left = left, right = right}, msg)
++fun error (source, left, right, msg) =
++   error' (Source.getPos (source, left), Source.getPos (source, right), msg)
++
++
++(* Comments *)
++local
++   val commentErrors: string list ref = ref []
++   val commentLeft = ref SourcePos.bogus
++   val commentStack: (int -> unit) list ref = ref []
++in
++   fun addCommentError msg =
++      List.push (commentErrors, msg)
++   val inComment = fn () => not (List.isEmpty (!commentStack))
++   fun startComment (source, yypos, th) =
++      if inComment ()
++         then List.push (commentStack, fn _ => th ())
++         else (commentErrors := []
++               ; commentLeft := Source.getPos (source, yypos)
++               ; List.push (commentStack, fn yypos =>
++                            (List.foreach (!commentErrors, fn msg =>
++                                           error' (!commentLeft,
++                                                   Source.getPos (source, yypos),
++                                                   msg))
++                             ; th ())))
++   fun finishComment yypos =
++      (List.pop commentStack) yypos
++end
++
++
++(* Line Directives *)
++local
++   val lineDirCol: int ref = ref ~1
++   val lineDirFile: File.t option ref = ref NONE
++   val lineDirLine: int ref = ref ~1
++in
++   fun startLineDir (source, yypos, th) =
++      let
++         val _ = lineDirCol := ~1
++         val _ = lineDirFile := NONE
++         val _ = lineDirLine := ~1
++      in
++         startComment (source, yypos, th)
++      end
++   fun addLineDirLineCol (line, col) =
++      let
++         val _ = lineDirLine := line
++         val _ = lineDirCol := col
++      in
++         ()
++      end
++   fun addLineDirFile file =
++      let
++         val _ = lineDirFile := SOME file
++      in
++         ()
++      end
++   fun finishLineDir (source, yypos) =
++      let
++         val col = !lineDirCol
++         val file = !lineDirFile
++         val line = !lineDirLine
++         val _ = lineDirCol := ~1
++         val _ = lineDirFile := NONE
++         val _ = lineDirLine := ~1
++      in
++         finishComment yypos
++         ; Source.lineDirective (source, file,
++                                 {lineNum = line,
++                                  lineStart = yypos + 1 - col})
++      end
++end
++
++
++(* Text Constants *)
++local
++   val chars: char list ref = ref []
++   val inText = ref false
++   val textLeft = ref SourcePos.bogus
++   val textFinishFn: (string * SourcePos.t * SourcePos.t -> lexresult) ref = ref (fn _ => raise Fail "textFinish")
++in
++   fun startText (tl, tf) =
++      let
++         val _ = chars := []
++         val _ = inText := true
++         val _ = textLeft := tl
++         val _ = textFinishFn := tf
++      in
++         ()
++      end
++   fun finishText textRight =
++      let
++         val cs = String.fromListRev (!chars)
++         val tl = !textLeft
++         val tr = textRight
++         val tf = !textFinishFn
++         val _ = chars := []
++         val _ = inText := false
++         val _ = textLeft := SourcePos.bogus
++         val _ = textFinishFn := (fn _ => raise Fail "textFinish")
++      in
++         tf (cs, tl, tr)
++      end
++   fun addTextString (s: string) =
++      chars := String.fold (s, !chars, fn (c, ac) => c :: ac)
++   val inText = fn () => !inText
++end
++fun addTextChar (c: char) = addTextString (String.fromChar c)
++fun addTextNumEsc (source, yypos, yytext, drop, radix): unit =
++   let
++      val left = yypos
++      val right = lastPos (left, yytext)
++      fun err () =
++         error (source, left, right, "Illegal numeric escape in text constant")
++   in
++      case StringCvt.scanString (fn r => IntInf.scan (radix, r)) (String.dropPrefix (yytext, drop)) of
++         NONE => err ()
++       | SOME i => if i > 255
++                      then err ()
++                      else addTextChar (Char.chr (IntInf.toInt i))
++   end
++fun addTextUTF8 (source, yypos, yytext): unit =
++   addTextString yytext
++
++
++(* EOF *)
++val eof: lexarg -> lexresult =
++   fn {source, ...} =>
++   let
++      val _ = Source.newline (source, ~1)
++      val pos = Source.getPos (source, ~1)
++      val _ =
++         if inComment ()
++            then error' (pos, SourcePos.bogus, "Unclosed comment at end of file")
++            else ()
++      val _ =
++         if inText ()
++            then error' (pos, SourcePos.bogus, "Unclosed text constant at end of file")
++            else ()
++   in
++      Tokens.EOF (pos, SourcePos.bogus)
++   end
++
++
++(*#line 178.1 "mlb.lex.sml"*)
++end (* end of user routines *)
++exception LexError (* raised if illegal leaf action tried *)
++structure Internal =
++	struct
++
++datatype yyfinstate = N of int
++type statedata = {fin : yyfinstate list, trans: string}
++(* transition & final state table *)
++val tab = let
++val s = [ 
++ (0, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (1, 
++"\019\019\019\019\019\019\019\019\019\112\115\112\112\114\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\112\019\111\019\110\019\019\019\101\019\019\019\100\019\099\089\
++\\088\088\088\088\088\088\088\088\088\088\019\087\019\086\019\019\
++\\019\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020\
++\\020\020\020\020\020\020\020\020\020\020\020\019\019\019\019\081\
++\\019\077\072\020\020\069\062\020\020\060\020\020\053\020\020\049\
++\\020\020\020\032\020\020\020\020\020\020\020\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019"
++),
++ (3, 
++"\116\116\116\116\116\116\116\116\116\116\162\116\116\161\116\116\
++\\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
++\\126\126\160\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\127\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\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\
++\\124\124\124\124\124\124\124\124\124\124\124\124\124\124\124\124\
++\\124\124\124\124\124\124\124\124\124\124\124\124\124\124\124\124\
++\\121\121\121\121\121\121\121\121\121\121\121\121\121\121\121\121\
++\\117\117\117\117\117\117\117\117\116\116\116\116\116\116\116\116"
++),
++ (5, 
++"\163\163\163\163\163\163\163\163\163\165\168\165\165\167\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\165\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\164\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163"
++),
++ (7, 
++"\169\169\169\169\169\169\169\169\169\169\176\169\169\175\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\172\169\170\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169"
++),
++ (9, 
++"\177\177\177\177\177\177\177\177\177\177\179\177\177\178\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177"
++),
++ (11, 
++"\180\180\180\180\180\180\180\180\180\180\000\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\181\181\181\181\181\181\181\181\181\181\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180"
++),
++ (13, 
++"\180\180\180\180\180\180\180\180\180\187\000\187\187\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\187\180\180\180\180\180\180\180\180\180\185\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180"
++),
++ (15, 
++"\191\191\191\191\191\191\191\191\191\191\192\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\194\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191"
++),
++ (17, 
++"\180\180\180\180\180\180\180\180\180\195\000\195\195\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\195\180\180\180\180\180\180\180\180\180\185\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180"
++),
++ (20, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (22, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\028\000\000\000\000\000\000\000\000\000\027\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (23, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (24, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\025\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (25, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\026\026\026\026\026\026\026\026\026\026\026\026\026\026\026\
++\\026\026\026\026\026\026\026\026\026\026\026\000\000\000\000\026\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (26, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\
++\\026\026\026\026\026\026\026\026\026\026\000\000\000\000\000\000\
++\\000\026\026\026\026\026\026\026\026\026\026\026\026\026\026\026\
++\\026\026\026\026\026\026\026\026\026\026\026\000\000\000\000\026\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (28, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\029\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (29, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
++\\030\030\030\030\030\030\030\030\030\030\030\000\000\000\000\030\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (30, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\
++\\030\030\030\030\030\030\030\030\030\030\000\000\000\000\000\000\
++\\000\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
++\\030\030\030\030\030\030\030\030\030\030\030\000\000\000\000\030\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (31, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\031\000\000\000\000\000\000\000\000\
++\\031\031\031\031\031\031\031\031\031\031\000\000\000\000\000\000\
++\\000\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\
++\\031\031\031\031\031\031\031\031\031\031\031\000\000\000\000\031\
++\\000\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\
++\\031\031\031\031\031\031\031\031\031\031\031\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (32, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\041\021\021\021\021\021\021\
++\\021\021\021\021\033\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (33, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\034\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (34, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\035\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (35, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\036\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (36, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\037\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (37, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\038\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (38, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\039\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (39, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\040\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (41, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\042\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (42, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\043\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (43, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\044\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (44, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\045\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (45, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\046\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (46, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\047\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (47, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\048\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (49, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\050\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (50, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\051\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (51, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\052\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (53, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\058\021\021\021\021\021\021\021\021\021\054\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (54, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\055\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (55, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\056\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (56, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\057\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (58, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\059\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (60, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\061\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (62, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\063\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (63, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\064\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (64, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\065\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (65, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\066\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (66, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\067\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (67, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\068\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (69, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\070\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (70, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\071\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (72, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\073\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (73, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\074\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (74, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\075\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (75, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\076\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (77, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\078\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (78, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\080\021\021\021\021\021\021\021\021\021\079\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (81, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\082\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (82, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\083\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (83, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\084\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (84, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\085\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (89, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\096\000\000\000\000\000\000\000\000\000\092\000\
++\\090\090\090\090\090\090\090\090\090\090\000\000\000\000\000\000\
++\\000\090\090\090\090\090\090\090\090\090\090\090\090\090\090\090\
++\\090\090\090\090\090\090\090\090\090\090\090\000\000\000\000\090\
++\\000\090\090\090\090\090\090\090\090\090\090\090\090\090\090\090\
++\\090\090\090\090\090\090\090\090\090\090\090\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (90, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\093\000\000\000\000\000\000\000\000\090\090\091\
++\\090\090\090\090\090\090\090\090\090\090\000\000\000\000\000\000\
++\\000\090\090\090\090\090\090\090\090\090\090\090\090\090\090\090\
++\\090\090\090\090\090\090\090\090\090\090\090\000\000\000\000\090\
++\\000\090\090\090\090\090\090\090\090\090\090\090\090\090\090\090\
++\\090\090\090\090\090\090\090\090\090\090\090\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (93, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\094\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (94, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\095\095\095\095\095\095\095\095\095\095\095\095\095\095\095\
++\\095\095\095\095\095\095\095\095\095\095\095\000\000\000\000\095\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (95, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\090\000\000\000\000\000\000\
++\\095\095\095\095\095\095\095\095\095\095\000\000\000\000\000\000\
++\\000\095\095\095\095\095\095\095\095\095\095\095\095\095\095\095\
++\\095\095\095\095\095\095\095\095\095\095\095\000\000\000\000\095\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (96, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\097\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (97, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\098\098\098\098\098\098\098\098\098\098\098\098\098\098\098\
++\\098\098\098\098\098\098\098\098\098\098\098\000\000\000\000\098\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (98, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\090\000\000\000\000\000\000\
++\\098\098\098\098\098\098\098\098\098\098\000\000\000\000\000\000\
++\\000\098\098\098\098\098\098\098\098\098\098\098\098\098\098\098\
++\\098\098\098\098\098\098\098\098\098\098\098\000\000\000\000\098\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (101, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\102\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (102, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\104\000\000\000\000\000\103\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (104, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\105\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (105, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\106\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (106, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\107\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (107, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\108\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (108, 
++"\000\000\000\000\000\000\000\000\000\109\000\109\109\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\109\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (112, 
++"\000\000\000\000\000\000\000\000\000\113\000\113\113\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\113\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (114, 
++"\000\000\000\000\000\000\000\000\000\000\115\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (117, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\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\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\118\118\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (118, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\
++\\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\
++\\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\
++\\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (119, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\
++\\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\
++\\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\
++\\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (121, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
++\\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
++\\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
++\\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (122, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\
++\\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\
++\\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\
++\\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (124, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\
++\\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\
++\\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\
++\\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (127, 
++"\000\000\000\000\000\000\000\000\000\157\159\157\157\158\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\157\000\156\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\153\153\153\153\153\153\153\153\153\153\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\144\000\000\000\000\000\000\143\000\140\000\
++\\000\139\138\000\000\000\137\000\000\000\000\000\000\000\136\000\
++\\000\000\135\000\134\129\128\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (129, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\130\130\130\130\130\130\130\130\130\130\000\000\000\000\000\000\
++\\000\130\130\130\130\130\130\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\130\130\130\130\130\130\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (130, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\131\131\131\131\131\131\131\131\131\131\000\000\000\000\000\000\
++\\000\131\131\131\131\131\131\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\131\131\131\131\131\131\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (131, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\132\132\132\132\132\132\132\132\132\132\000\000\000\000\000\000\
++\\000\132\132\132\132\132\132\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\132\132\132\132\132\132\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (132, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\133\133\133\133\133\133\133\133\133\133\000\000\000\000\000\000\
++\\000\133\133\133\133\133\133\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\133\133\133\133\133\133\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (140, 
++"\141\141\141\141\141\141\141\141\141\141\000\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\
++\\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141"
++),
++ (144, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\145\145\145\145\145\145\145\145\145\145\000\000\000\000\000\000\
++\\000\145\145\145\145\145\145\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\145\145\145\145\145\145\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (145, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\146\146\146\146\146\146\146\146\146\146\000\000\000\000\000\000\
++\\000\146\146\146\146\146\146\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\146\146\146\146\146\146\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (146, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\147\147\147\147\147\147\147\147\147\147\000\000\000\000\000\000\
++\\000\147\147\147\147\147\147\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\147\147\147\147\147\147\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (147, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\148\148\148\148\148\148\148\148\148\148\000\000\000\000\000\000\
++\\000\148\148\148\148\148\148\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\148\148\148\148\148\148\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (148, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\149\149\149\149\149\149\149\149\149\149\000\000\000\000\000\000\
++\\000\149\149\149\149\149\149\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\149\149\149\149\149\149\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (149, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\150\150\150\150\150\150\150\150\150\150\000\000\000\000\000\000\
++\\000\150\150\150\150\150\150\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\150\150\150\150\150\150\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (150, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\151\151\151\151\151\151\151\151\151\151\000\000\000\000\000\000\
++\\000\151\151\151\151\151\151\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\151\151\151\151\151\151\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (151, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\152\152\152\152\152\152\152\152\152\152\000\000\000\000\000\000\
++\\000\152\152\152\152\152\152\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\152\152\152\152\152\152\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (153, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\154\154\154\154\154\154\154\154\154\154\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (154, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\155\155\155\155\155\155\155\155\155\155\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (157, 
++"\000\000\000\000\000\000\000\000\000\157\000\157\157\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (158, 
++"\000\000\000\000\000\000\000\000\000\000\159\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (161, 
++"\000\000\000\000\000\000\000\000\000\000\162\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (165, 
++"\000\000\000\000\000\000\000\000\000\166\000\166\166\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (167, 
++"\000\000\000\000\000\000\000\000\000\000\168\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (170, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (172, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (173, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (175, 
++"\000\000\000\000\000\000\000\000\000\000\176\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (178, 
++"\000\000\000\000\000\000\000\000\000\000\179\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (181, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\
++\\182\182\182\182\182\182\182\182\182\182\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (183, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\184\184\184\184\184\184\184\184\184\184\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (185, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (187, 
++"\000\000\000\000\000\000\000\000\000\190\000\190\190\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\190\000\189\000\000\000\000\000\000\000\188\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (191, 
++"\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\193\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192"
++),
++ (195, 
++"\000\000\000\000\000\000\000\000\000\196\000\196\196\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\196\000\000\000\000\000\000\000\000\000\188\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++(0, "")]
++fun f x = x 
++val s = Pervasive.List.map f (Pervasive.List.rev (tl (Pervasive.List.rev s))) 
++exception LexHackingError 
++fun look ((j,x)::r, i: int) = if i = j then x else look(r, i) 
++  | look ([], i) = raise LexHackingError
++fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} 
++in Vector.fromList(Pervasive.List.map g 
++[{fin = [], trans = 0},
++{fin = [], trans = 1},
++{fin = [], trans = 1},
++{fin = [], trans = 3},
++{fin = [], trans = 3},
++{fin = [], trans = 5},
++{fin = [], trans = 5},
++{fin = [], trans = 7},
++{fin = [], trans = 7},
++{fin = [], trans = 9},
++{fin = [], trans = 9},
++{fin = [], trans = 11},
++{fin = [], trans = 11},
++{fin = [], trans = 13},
++{fin = [], trans = 13},
++{fin = [], trans = 15},
++{fin = [], trans = 15},
++{fin = [], trans = 17},
++{fin = [], trans = 17},
++{fin = [(N 351)], trans = 0},
++{fin = [(N 96),(N 152),(N 351)], trans = 20},
++{fin = [(N 96),(N 152)], trans = 20},
++{fin = [], trans = 22},
++{fin = [(N 152)], trans = 23},
++{fin = [], trans = 24},
++{fin = [], trans = 25},
++{fin = [], trans = 26},
++{fin = [(N 152)], trans = 23},
++{fin = [], trans = 28},
++{fin = [], trans = 29},
++{fin = [], trans = 30},
++{fin = [(N 96)], trans = 31},
++{fin = [(N 96),(N 152),(N 351)], trans = 32},
++{fin = [(N 96),(N 152)], trans = 33},
++{fin = [(N 96),(N 152)], trans = 34},
++{fin = [(N 96),(N 152)], trans = 35},
++{fin = [(N 96),(N 152)], trans = 36},
++{fin = [(N 96),(N 152)], trans = 37},
++{fin = [(N 96),(N 152)], trans = 38},
++{fin = [(N 96),(N 152)], trans = 39},
++{fin = [(N 93),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152)], trans = 41},
++{fin = [(N 96),(N 152)], trans = 42},
++{fin = [(N 96),(N 152)], trans = 43},
++{fin = [(N 96),(N 152)], trans = 44},
++{fin = [(N 96),(N 152)], trans = 45},
++{fin = [(N 96),(N 152)], trans = 46},
++{fin = [(N 96),(N 152)], trans = 47},
++{fin = [(N 83),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 49},
++{fin = [(N 96),(N 152)], trans = 50},
++{fin = [(N 96),(N 152)], trans = 51},
++{fin = [(N 73),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 53},
++{fin = [(N 96),(N 152)], trans = 54},
++{fin = [(N 96),(N 152)], trans = 55},
++{fin = [(N 96),(N 152)], trans = 56},
++{fin = [(N 68),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152)], trans = 58},
++{fin = [(N 62),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 60},
++{fin = [(N 58),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 62},
++{fin = [(N 96),(N 152)], trans = 63},
++{fin = [(N 96),(N 152)], trans = 64},
++{fin = [(N 96),(N 152)], trans = 65},
++{fin = [(N 96),(N 152)], trans = 66},
++{fin = [(N 96),(N 152)], trans = 67},
++{fin = [(N 55),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 69},
++{fin = [(N 96),(N 152)], trans = 70},
++{fin = [(N 47),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 72},
++{fin = [(N 96),(N 152)], trans = 73},
++{fin = [(N 37),(N 96),(N 152)], trans = 74},
++{fin = [(N 96),(N 152)], trans = 75},
++{fin = [(N 43),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 77},
++{fin = [(N 96),(N 152)], trans = 78},
++{fin = [(N 33),(N 96),(N 152)], trans = 20},
++{fin = [(N 29),(N 96),(N 152)], trans = 20},
++{fin = [(N 152),(N 351)], trans = 81},
++{fin = [(N 152)], trans = 82},
++{fin = [(N 152)], trans = 83},
++{fin = [(N 152)], trans = 84},
++{fin = [(N 19),(N 152)], trans = 23},
++{fin = [(N 25),(N 351)], trans = 0},
++{fin = [(N 23),(N 351)], trans = 0},
++{fin = [(N 152),(N 351)], trans = 23},
++{fin = [(N 351)], trans = 89},
++{fin = [(N 152)], trans = 90},
++{fin = [], trans = 89},
++{fin = [(N 152)], trans = 90},
++{fin = [], trans = 93},
++{fin = [], trans = 94},
++{fin = [], trans = 95},
++{fin = [], trans = 96},
++{fin = [], trans = 97},
++{fin = [], trans = 98},
++{fin = [(N 152),(N 351)], trans = 23},
++{fin = [(N 21),(N 351)], trans = 0},
++{fin = [(N 351)], trans = 101},
++{fin = [(N 281)], trans = 102},
++{fin = [(N 278)], trans = 0},
++{fin = [], trans = 104},
++{fin = [], trans = 105},
++{fin = [], trans = 106},
++{fin = [], trans = 107},
++{fin = [], trans = 108},
++{fin = [(N 321)], trans = 108},
++{fin = [(N 351)], trans = 28},
++{fin = [(N 154),(N 351)], trans = 0},
++{fin = [(N 8),(N 351)], trans = 112},
++{fin = [(N 8)], trans = 112},
++{fin = [(N 13),(N 351)], trans = 114},
++{fin = [(N 13)], trans = 0},
++{fin = [(N 256)], trans = 0},
++{fin = [(N 256)], trans = 117},
++{fin = [], trans = 118},
++{fin = [], trans = 119},
++{fin = [(N 173)], trans = 0},
++{fin = [(N 256)], trans = 121},
++{fin = [], trans = 122},
++{fin = [(N 168)], trans = 0},
++{fin = [(N 256)], trans = 124},
++{fin = [(N 164)], trans = 0},
++{fin = [(N 161),(N 256)], trans = 0},
++{fin = [(N 249),(N 256)], trans = 127},
++{fin = [(N 188)], trans = 0},
++{fin = [], trans = 129},
++{fin = [], trans = 130},
++{fin = [], trans = 131},
++{fin = [], trans = 132},
++{fin = [(N 214)], trans = 0},
++{fin = [(N 182)], trans = 0},
++{fin = [(N 194)], trans = 0},
++{fin = [(N 185)], trans = 0},
++{fin = [(N 191)], trans = 0},
++{fin = [(N 179)], trans = 0},
++{fin = [(N 176)], trans = 0},
++{fin = [], trans = 140},
++{fin = [(N 202)], trans = 0},
++{fin = [(N 198),(N 202)], trans = 0},
++{fin = [(N 231)], trans = 0},
++{fin = [], trans = 144},
++{fin = [], trans = 145},
++{fin = [], trans = 146},
++{fin = [], trans = 147},
++{fin = [], trans = 148},
++{fin = [], trans = 149},
++{fin = [], trans = 150},
++{fin = [], trans = 151},
++{fin = [(N 225)], trans = 0},
++{fin = [], trans = 153},
++{fin = [], trans = 154},
++{fin = [(N 207)], trans = 0},
++{fin = [(N 228)], trans = 0},
++{fin = [(N 241)], trans = 157},
++{fin = [(N 247)], trans = 158},
++{fin = [(N 247)], trans = 0},
++{fin = [(N 156),(N 256)], trans = 0},
++{fin = [(N 254),(N 256)], trans = 161},
++{fin = [(N 254)], trans = 0},
++{fin = [(N 274)], trans = 0},
++{fin = [(N 272),(N 274)], trans = 0},
++{fin = [(N 265),(N 274)], trans = 165},
++{fin = [(N 265)], trans = 165},
++{fin = [(N 270),(N 274)], trans = 167},
++{fin = [(N 270)], trans = 0},
++{fin = [(N 305)], trans = 0},
++{fin = [(N 305)], trans = 170},
++{fin = [(N 298)], trans = 0},
++{fin = [(N 305)], trans = 172},
++{fin = [(N 295)], trans = 173},
++{fin = [(N 292)], trans = 0},
++{fin = [(N 303),(N 305)], trans = 175},
++{fin = [(N 303)], trans = 0},
++{fin = [(N 288)], trans = 0},
++{fin = [(N 286),(N 288)], trans = 178},
++{fin = [(N 286)], trans = 0},
++{fin = [(N 349)], trans = 0},
++{fin = [(N 349)], trans = 181},
++{fin = [], trans = 181},
++{fin = [], trans = 183},
++{fin = [(N 327)], trans = 183},
++{fin = [(N 349)], trans = 185},
++{fin = [(N 347)], trans = 0},
++{fin = [(N 349)], trans = 187},
++{fin = [], trans = 185},
++{fin = [(N 337)], trans = 0},
++{fin = [], trans = 187},
++{fin = [(N 349)], trans = 191},
++{fin = [], trans = 191},
++{fin = [(N 340)], trans = 0},
++{fin = [(N 340),(N 349)], trans = 0},
++{fin = [(N 349)], trans = 195},
++{fin = [], trans = 195}])
++end
++structure StartStates =
++	struct
++	datatype yystartstate = STARTSTATE of int
++
++(* start state definitions *)
++
++val BLOCK_COMMENT = STARTSTATE 7;
++val INITIAL = STARTSTATE 1;
++val LINE_COMMENT = STARTSTATE 9;
++val LINE_DIR1 = STARTSTATE 11;
++val LINE_DIR2 = STARTSTATE 13;
++val LINE_DIR3 = STARTSTATE 15;
++val LINE_DIR4 = STARTSTATE 17;
++val TEXT = STARTSTATE 3;
++val TEXT_FMT = STARTSTATE 5;
++
++end
++type result = UserDeclarations.lexresult
++	exception LexerError (* raised if illegal leaf action tried *)
++end
++
++structure YYPosInt : INTEGER = Int
++fun makeLexer yyinput =
++let	val yygone0= YYPosInt.fromInt ~1
++	val yyb = ref "\n" 		(* buffer *)
++	val yybl = ref 1		(*buffer length *)
++	val yybufpos = ref 1		(* location of next character to use *)
++	val yygone = ref yygone0	(* position in file of beginning of buffer *)
++	val yydone = ref false		(* eof found yet? *)
++	val yybegin = ref 1		(*Current 'start state' for lexer *)
++
++	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
++		 yybegin := x
++
++fun lex (yyarg as ((*#line 179.7 "mlb.lex"*){source}(*#line 2535.1 "mlb.lex.sml"*)
++)) =
++let fun continue() : Internal.result = 
++  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
++	let fun action (i,nil) = raise LexError
++	| action (i,nil::l) = action (i-1,l)
++	| action (i,(node::acts)::l) =
++		case node of
++		    Internal.N yyk => 
++			(let fun yymktext() = String.substring(!yyb,i0,i-i0)
++			     val yypos = YYPosInt.+(YYPosInt.fromInt i0, !yygone)
++			open UserDeclarations Internal.StartStates
++ in (yybufpos := i; case yyk of 
++
++			(* Application actions *)
++
++  13 => let val yytext=yymktext() in (*#line 203.21 "mlb.lex"*)Source.newline (source, lastPos (yypos, yytext)); continue ()(*#line 2551.1 "mlb.lex.sml"*)
++ end
++| 152 => let val yytext=yymktext() in (*#line 225.21 "mlb.lex"*)tok' (Tokens.FILE, yytext, source, yypos)(*#line 2553.1 "mlb.lex.sml"*)
++ end
++| 154 => ((*#line 228.5 "mlb.lex"*)startText (Source.getPos (source, yypos), fn (s, l, r) =>
++               (YYBEGIN INITIAL;
++                Tokens.STRING (s, l, r)))
++    ; YYBEGIN TEXT
++    ; continue ()(*#line 2559.1 "mlb.lex.sml"*)
++)
++| 156 => let val yytext=yymktext() in (*#line 234.22 "mlb.lex"*)finishText (Source.getPos (source, lastPos (yypos, yytext)))(*#line 2561.1 "mlb.lex.sml"*)
++ end
++| 161 => let val yytext=yymktext() in (*#line 236.22 "mlb.lex"*)addTextString yytext; continue ()(*#line 2563.1 "mlb.lex.sml"*)
++ end
++| 164 => let val yytext=yymktext() in (*#line 238.22 "mlb.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 2565.1 "mlb.lex.sml"*)
++ end
++| 168 => let val yytext=yymktext() in (*#line 240.22 "mlb.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 2567.1 "mlb.lex.sml"*)
++ end
++| 173 => let val yytext=yymktext() in (*#line 242.22 "mlb.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 2569.1 "mlb.lex.sml"*)
++ end
++| 176 => ((*#line 243.22 "mlb.lex"*)addTextChar #"\a"; continue ()(*#line 2571.1 "mlb.lex.sml"*)
++)
++| 179 => ((*#line 244.22 "mlb.lex"*)addTextChar #"\b"; continue ()(*#line 2573.1 "mlb.lex.sml"*)
++)
++| 182 => ((*#line 245.22 "mlb.lex"*)addTextChar #"\t"; continue ()(*#line 2575.1 "mlb.lex.sml"*)
++)
++| 185 => ((*#line 246.22 "mlb.lex"*)addTextChar #"\n"; continue ()(*#line 2577.1 "mlb.lex.sml"*)
++)
++| 188 => ((*#line 247.22 "mlb.lex"*)addTextChar #"\v"; continue ()(*#line 2579.1 "mlb.lex.sml"*)
++)
++| 19 => let val yytext=yymktext() in (*#line 205.22 "mlb.lex"*)tok (Tokens.PRIM, yytext, source, yypos)(*#line 2581.1 "mlb.lex.sml"*)
++ end
++| 191 => ((*#line 248.22 "mlb.lex"*)addTextChar #"\f"; continue ()(*#line 2583.1 "mlb.lex.sml"*)
++)
++| 194 => ((*#line 249.22 "mlb.lex"*)addTextChar #"\r"; continue ()(*#line 2585.1 "mlb.lex.sml"*)
++)
++| 198 => let val yytext=yymktext() in (*#line 250.22 "mlb.lex"*)addTextChar (Char.chr(Char.ord(String.sub(yytext, 2)) - Char.ord #"@"));
++                     continue ()(*#line 2588.1 "mlb.lex.sml"*)
++ end
++| 202 => ((*#line 252.22 "mlb.lex"*)error (source, yypos, yypos + 2, "Illegal control escape in text constant; must be one of @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_");
++                     continue ()(*#line 2591.1 "mlb.lex.sml"*)
++)
++| 207 => let val yytext=yymktext() in (*#line 254.22 "mlb.lex"*)addTextNumEsc (source, yypos, yytext, 1,
++                                    StringCvt.DEC)
++                     ; continue ()(*#line 2595.1 "mlb.lex.sml"*)
++ end
++| 21 => let val yytext=yymktext() in (*#line 207.18 "mlb.lex"*)tok (Tokens.COMMA, yytext, source, yypos)(*#line 2597.1 "mlb.lex.sml"*)
++ end
++| 214 => let val yytext=yymktext() in (*#line 258.22 "mlb.lex"*)addTextNumEsc (source, yypos, yytext, 2,
++                                    StringCvt.HEX)
++                     ; continue ()(*#line 2601.1 "mlb.lex.sml"*)
++ end
++| 225 => let val yytext=yymktext() in (*#line 262.22 "mlb.lex"*)addTextNumEsc (source, yypos, yytext, 2,
++                                    StringCvt.HEX)
++                     ; continue ()(*#line 2605.1 "mlb.lex.sml"*)
++ end
++| 228 => ((*#line 265.22 "mlb.lex"*)addTextString "\""; continue ()(*#line 2607.1 "mlb.lex.sml"*)
++)
++| 23 => let val yytext=yymktext() in (*#line 208.18 "mlb.lex"*)tok (Tokens.SEMICOLON, yytext, source, yypos)(*#line 2609.1 "mlb.lex.sml"*)
++ end
++| 231 => ((*#line 266.22 "mlb.lex"*)addTextString "\\"; continue ()(*#line 2611.1 "mlb.lex.sml"*)
++)
++| 241 => ((*#line 267.22 "mlb.lex"*)YYBEGIN TEXT_FMT; continue ()(*#line 2613.1 "mlb.lex.sml"*)
++)
++| 247 => let val yytext=yymktext() in (*#line 268.22 "mlb.lex"*)Source.newline (source, lastPos (yypos, yytext)); YYBEGIN TEXT_FMT; continue ()(*#line 2615.1 "mlb.lex.sml"*)
++ end
++| 249 => ((*#line 269.22 "mlb.lex"*)error (source, yypos, yypos + 1, "Illegal escape in text constant")
++                     ; continue ()(*#line 2618.1 "mlb.lex.sml"*)
++)
++| 25 => let val yytext=yymktext() in (*#line 209.18 "mlb.lex"*)tok (Tokens.EQUALOP, yytext, source, yypos)(*#line 2620.1 "mlb.lex.sml"*)
++ end
++| 254 => let val yytext=yymktext() in (*#line 271.22 "mlb.lex"*)error (source, yypos, lastPos (yypos, yytext), "Unclosed text constant at end of line")
++                     ; Source.newline (source, lastPos (yypos, yytext))
++                     ; continue ()(*#line 2624.1 "mlb.lex.sml"*)
++ end
++| 256 => ((*#line 274.22 "mlb.lex"*)error (source, yypos, yypos, "Illegal character in text constant")
++                     ; continue ()(*#line 2627.1 "mlb.lex.sml"*)
++)
++| 265 => ((*#line 277.22 "mlb.lex"*)continue ()(*#line 2629.1 "mlb.lex.sml"*)
++)
++| 270 => let val yytext=yymktext() in (*#line 278.22 "mlb.lex"*)Source.newline (source, lastPos (yypos, yytext)); continue ()(*#line 2631.1 "mlb.lex.sml"*)
++ end
++| 272 => ((*#line 279.22 "mlb.lex"*)YYBEGIN TEXT; continue ()(*#line 2633.1 "mlb.lex.sml"*)
++)
++| 274 => ((*#line 280.22 "mlb.lex"*)error (source, yypos, yypos, "Illegal formatting character in text continuation")
++                     ; continue ()(*#line 2636.1 "mlb.lex.sml"*)
++)
++| 278 => ((*#line 285.5 "mlb.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN LINE_COMMENT
++    ; continue ()(*#line 2641.1 "mlb.lex.sml"*)
++)
++| 281 => ((*#line 290.5 "mlb.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 2646.1 "mlb.lex.sml"*)
++)
++| 286 => let val yytext=yymktext() in (*#line 296.5 "mlb.lex"*)finishComment (lastPos (yypos, yytext))
++    ; Source.newline (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 2650.1 "mlb.lex.sml"*)
++ end
++| 288 => ((*#line 300.5 "mlb.lex"*)continue ()(*#line 2652.1 "mlb.lex.sml"*)
++)
++| 29 => let val yytext=yymktext() in (*#line 211.20 "mlb.lex"*)tok (Tokens.AND, yytext, source, yypos)(*#line 2654.1 "mlb.lex.sml"*)
++ end
++| 292 => ((*#line 303.5 "mlb.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN BLOCK_COMMENT)
++    ; YYBEGIN LINE_COMMENT
++    ; continue ()(*#line 2659.1 "mlb.lex.sml"*)
++)
++| 295 => ((*#line 308.5 "mlb.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN BLOCK_COMMENT)
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 2664.1 "mlb.lex.sml"*)
++)
++| 298 => let val yytext=yymktext() in (*#line 313.5 "mlb.lex"*)finishComment (lastPos (yypos, yytext))
++    ; continue ()(*#line 2667.1 "mlb.lex.sml"*)
++ end
++| 303 => let val yytext=yymktext() in (*#line 316.5 "mlb.lex"*)Source.newline (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 2670.1 "mlb.lex.sml"*)
++ end
++| 305 => ((*#line 319.5 "mlb.lex"*)continue ()(*#line 2672.1 "mlb.lex.sml"*)
++)
++| 321 => ((*#line 323.5 "mlb.lex"*)startLineDir (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN LINE_DIR1
++    ; continue ()(*#line 2677.1 "mlb.lex.sml"*)
++)
++| 327 => let val yytext=yymktext() in (*#line 329.5 "mlb.lex"*)let
++       fun err () =
++          (addCommentError "Illegal line directive"
++           ; YYBEGIN BLOCK_COMMENT)
++     in
++        case String.split (yytext, #".") of
++           [line, col] =>
++              (YYBEGIN LINE_DIR2
++               ; addLineDirLineCol (valOf (Int.fromString line), valOf (Int.fromString col))
++                 handle Overflow => err () | Option => err ()
++               ; continue ())
++         | _ => (err (); continue ())
++     end(*#line 2691.1 "mlb.lex.sml"*)
++ end
++| 33 => let val yytext=yymktext() in (*#line 212.20 "mlb.lex"*)tok (Tokens.ANN, yytext, source, yypos)(*#line 2693.1 "mlb.lex.sml"*)
++ end
++| 337 => ((*#line 343.5 "mlb.lex"*)YYBEGIN LINE_DIR3
++    ; continue ()(*#line 2696.1 "mlb.lex.sml"*)
++)
++| 340 => let val yytext=yymktext() in (*#line 346.5 "mlb.lex"*)addLineDirFile (String.dropLast yytext)
++    ; YYBEGIN LINE_DIR4
++    ; continue ()(*#line 2700.1 "mlb.lex.sml"*)
++ end
++| 347 => let val yytext=yymktext() in (*#line 350.5 "mlb.lex"*)finishLineDir (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 2703.1 "mlb.lex.sml"*)
++ end
++| 349 => ((*#line 353.5 "mlb.lex"*)addCommentError "Illegal line directive"
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 2707.1 "mlb.lex.sml"*)
++)
++| 351 => ((*#line 359.5 "mlb.lex"*)error (source, yypos, yypos, "Illegal character")
++    ; continue ()(*#line 2710.1 "mlb.lex.sml"*)
++)
++| 37 => let val yytext=yymktext() in (*#line 213.20 "mlb.lex"*)tok (Tokens.BAS, yytext, source, yypos)(*#line 2712.1 "mlb.lex.sml"*)
++ end
++| 43 => let val yytext=yymktext() in (*#line 214.22 "mlb.lex"*)tok (Tokens.BASIS, yytext, source, yypos)(*#line 2714.1 "mlb.lex.sml"*)
++ end
++| 47 => let val yytext=yymktext() in (*#line 215.20 "mlb.lex"*)tok (Tokens.END, yytext, source, yypos)(*#line 2716.1 "mlb.lex.sml"*)
++ end
++| 55 => let val yytext=yymktext() in (*#line 216.24 "mlb.lex"*)tok (Tokens.FUNCTOR, yytext, source, yypos)(*#line 2718.1 "mlb.lex.sml"*)
++ end
++| 58 => let val yytext=yymktext() in (*#line 217.19 "mlb.lex"*)tok (Tokens.IN, yytext, source, yypos)(*#line 2720.1 "mlb.lex.sml"*)
++ end
++| 62 => let val yytext=yymktext() in (*#line 218.20 "mlb.lex"*)tok (Tokens.LET, yytext, source, yypos)(*#line 2722.1 "mlb.lex.sml"*)
++ end
++| 68 => let val yytext=yymktext() in (*#line 219.22 "mlb.lex"*)tok (Tokens.LOCAL, yytext, source, yypos)(*#line 2724.1 "mlb.lex.sml"*)
++ end
++| 73 => let val yytext=yymktext() in (*#line 220.21 "mlb.lex"*)tok (Tokens.OPEN, yytext, source, yypos)(*#line 2726.1 "mlb.lex.sml"*)
++ end
++| 8 => ((*#line 202.21 "mlb.lex"*)continue ()(*#line 2728.1 "mlb.lex.sml"*)
++)
++| 83 => let val yytext=yymktext() in (*#line 221.26 "mlb.lex"*)tok (Tokens.SIGNATURE, yytext, source, yypos)(*#line 2730.1 "mlb.lex.sml"*)
++ end
++| 93 => let val yytext=yymktext() in (*#line 222.26 "mlb.lex"*)tok (Tokens.STRUCTURE, yytext, source, yypos)(*#line 2732.1 "mlb.lex.sml"*)
++ end
++| 96 => let val yytext=yymktext() in (*#line 224.19 "mlb.lex"*)tok' (Tokens.ID, yytext, source, yypos)(*#line 2734.1 "mlb.lex.sml"*)
++ end
++| _ => raise Internal.LexerError
++
++		) end )
++
++	val {fin,trans} = Vector.sub(Internal.tab, s)
++	val NewAcceptingLeaves = fin::AcceptingLeaves
++	in if l = !yybl then
++	     if trans = #trans(Vector.sub(Internal.tab,0))
++	       then action(l,NewAcceptingLeaves
++) else	    let val newchars= if !yydone then "" else yyinput 1024
++	    in if (String.size newchars)=0
++		  then (yydone := true;
++		        if (l=i0) then UserDeclarations.eof yyarg
++		                  else action(l,NewAcceptingLeaves))
++		  else (if i0=l then yyb := newchars
++		     else yyb := String.substring(!yyb,i0,l-i0)^newchars;
++		     yygone := YYPosInt.+(!yygone, YYPosInt.fromInt i0);
++		     yybl := String.size (!yyb);
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
++	  else let val NewChar = Char.ord(CharVector.sub(!yyb,l))
++		val NewState = Char.ord(CharVector.sub(trans,NewChar))
++		in if NewState=0 then action(l,NewAcceptingLeaves)
++		else scan(NewState,NewAcceptingLeaves,l+1,i0)
++	end
++	end
++(*
++	val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
++then !yybegin+1 else !yybegin
++*)
++	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++end
+diff --git a/mlyacc/Makefile b/mlyacc/Makefile
+index c3e9ee246..029a8acfd 100644
+--- a/mlyacc/Makefile
++++ b/mlyacc/Makefile
+@@ -24,15 +24,36 @@ $(NAME): $(NAME).mlb $(shell "$(RUN_MLTON_DEPS)" -stop f $(NAME).mlb)
+ clean:
+ 	$(SRC)/bin/clean
+ 
++ifeq (true,$(call HAVE_CMD,$(RUN_MLLEX)))
+ src/%.lex.sml: src/%.lex
+ 	$(RM) $<.*
+ 	$(RUN_MLLEX) $<
+ 	$(CHMOD) -w $<.*
++	$(CP) $<.sml $<.sml.boot
++else
++src/%.lex.sml: src/%.lex.sml.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++endif
+ 
++ifeq (true,$(call HAVE_CMD,$(RUN_MLYACC)))
+ src/%.grm.sig src/%.grm.sml: src/%.grm
+ 	$(RM) $<.*
+ 	$(RUN_MLYACC) $<
+ 	$(CHMOD) -w $<.*
++	$(CP) $<.sig $<.sig.boot
++	$(CP) $<.sml $<.sml.boot
++else
++src/%.grm.sig: src/%.grm.sig.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++src/%.grm.sml: src/%.grm.sml.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++endif
+ 
+ 
+ PDFLATEX := pdflatex
+diff --git a/mlyacc/src/yacc.grm.sig.boot b/mlyacc/src/yacc.grm.sig.boot
+new file mode 100644
+index 000000000..80dce7488
+--- /dev/null
++++ b/mlyacc/src/yacc.grm.sig.boot
+@@ -0,0 +1,54 @@
++signature Mlyacc_TOKENS =
++sig
++type ('a,'b) token
++type svalue
++val BOGUS_VALUE:  'a * 'a -> (svalue,'a) token
++val UNKNOWN: (string) *  'a * 'a -> (svalue,'a) token
++val VALUE:  'a * 'a -> (svalue,'a) token
++val VERBOSE:  'a * 'a -> (svalue,'a) token
++val TYVAR: (string) *  'a * 'a -> (svalue,'a) token
++val TERM:  'a * 'a -> (svalue,'a) token
++val START:  'a * 'a -> (svalue,'a) token
++val SUBST:  'a * 'a -> (svalue,'a) token
++val RPAREN:  'a * 'a -> (svalue,'a) token
++val RBRACE:  'a * 'a -> (svalue,'a) token
++val PROG: (string) *  'a * 'a -> (svalue,'a) token
++val PREFER:  'a * 'a -> (svalue,'a) token
++val PREC_TAG:  'a * 'a -> (svalue,'a) token
++val PREC: (Header.prec) *  'a * 'a -> (svalue,'a) token
++val PERCENT_TOKEN_SIG_INFO:  'a * 'a -> (svalue,'a) token
++val PERCENT_ARG:  'a * 'a -> (svalue,'a) token
++val PERCENT_POS:  'a * 'a -> (svalue,'a) token
++val PERCENT_PURE:  'a * 'a -> (svalue,'a) token
++val PERCENT_EOP:  'a * 'a -> (svalue,'a) token
++val OF:  'a * 'a -> (svalue,'a) token
++val NOSHIFT:  'a * 'a -> (svalue,'a) token
++val NONTERM:  'a * 'a -> (svalue,'a) token
++val NODEFAULT:  'a * 'a -> (svalue,'a) token
++val NAME:  'a * 'a -> (svalue,'a) token
++val LPAREN:  'a * 'a -> (svalue,'a) token
++val LBRACE:  'a * 'a -> (svalue,'a) token
++val KEYWORD:  'a * 'a -> (svalue,'a) token
++val INT: (string) *  'a * 'a -> (svalue,'a) token
++val PERCENT_HEADER:  'a * 'a -> (svalue,'a) token
++val IDDOT: (string) *  'a * 'a -> (svalue,'a) token
++val ID: (string*Header.pos) *  'a * 'a -> (svalue,'a) token
++val HEADER: (string) *  'a * 'a -> (svalue,'a) token
++val FOR:  'a * 'a -> (svalue,'a) token
++val EOF:  'a * 'a -> (svalue,'a) token
++val DELIMITER:  'a * 'a -> (svalue,'a) token
++val COMMA:  'a * 'a -> (svalue,'a) token
++val COLON:  'a * 'a -> (svalue,'a) token
++val CHANGE:  'a * 'a -> (svalue,'a) token
++val BAR:  'a * 'a -> (svalue,'a) token
++val BLOCK:  'a * 'a -> (svalue,'a) token
++val ASTERISK:  'a * 'a -> (svalue,'a) token
++val ARROW:  'a * 'a -> (svalue,'a) token
++end
++signature Mlyacc_LRVALS=
++sig
++structure Tokens : Mlyacc_TOKENS
++structure ParserData:PARSER_DATA
++sharing type ParserData.Token.token = Tokens.token
++sharing type ParserData.svalue = Tokens.svalue
++end
+diff --git a/mlyacc/src/yacc.grm.sml.boot b/mlyacc/src/yacc.grm.sml.boot
+new file mode 100644
+index 000000000..4beacb341
+--- /dev/null
++++ b/mlyacc/src/yacc.grm.sml.boot
+@@ -0,0 +1,838 @@
++
++functor MlyaccLrValsFun(structure Hdr : HEADER
++                          where type prec = Header.prec
++                        structure Token : TOKEN)
++ = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(*#line 1.2 "yacc.grm"*)(* Modified by Vesa Karvonen on 2007-12-18.
++ * Create line directives in output.
++ *)
++(* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *)
++
++(* parser for the ML parser generator *)
++
++open Hdr
++
++(*#line 20.1 "yacc.grm.sml"*)
++end
++structure LrTable = Token.LrTable
++structure Token = Token
++local open LrTable in 
++val table=let val actionRows =
++"\
++\\001\000\001\000\076\000\000\000\
++\\001\000\005\000\025\000\008\000\024\000\014\000\023\000\016\000\022\000\
++\\019\000\021\000\020\000\020\000\021\000\019\000\022\000\018\000\
++\\024\000\017\000\025\000\016\000\026\000\015\000\027\000\014\000\
++\\028\000\013\000\029\000\012\000\031\000\011\000\035\000\010\000\
++\\036\000\009\000\037\000\008\000\039\000\007\000\040\000\006\000\000\000\
++\\001\000\006\000\063\000\000\000\
++\\001\000\006\000\074\000\000\000\
++\\001\000\006\000\086\000\000\000\
++\\001\000\006\000\098\000\000\000\
++\\001\000\007\000\085\000\033\000\084\000\000\000\
++\\001\000\009\000\000\000\000\000\
++\\001\000\010\000\061\000\000\000\
++\\001\000\011\000\003\000\000\000\
++\\001\000\012\000\026\000\000\000\
++\\001\000\012\000\028\000\000\000\
++\\001\000\012\000\029\000\000\000\
++\\001\000\012\000\032\000\000\000\
++\\001\000\012\000\044\000\013\000\043\000\000\000\
++\\001\000\012\000\044\000\013\000\043\000\017\000\042\000\032\000\041\000\
++\\038\000\040\000\000\000\
++\\001\000\012\000\048\000\000\000\
++\\001\000\012\000\053\000\000\000\
++\\001\000\012\000\071\000\015\000\070\000\000\000\
++\\001\000\012\000\071\000\015\000\070\000\033\000\069\000\000\000\
++\\001\000\012\000\077\000\000\000\
++\\001\000\012\000\080\000\000\000\
++\\001\000\012\000\101\000\000\000\
++\\001\000\032\000\036\000\000\000\
++\\001\000\032\000\037\000\000\000\
++\\001\000\032\000\050\000\000\000\
++\\001\000\032\000\057\000\000\000\
++\\001\000\032\000\100\000\000\000\
++\\001\000\032\000\104\000\000\000\
++\\106\000\012\000\053\000\000\000\
++\\107\000\000\000\
++\\108\000\000\000\
++\\109\000\004\000\058\000\000\000\
++\\110\000\004\000\058\000\000\000\
++\\111\000\000\000\
++\\112\000\000\000\
++\\113\000\000\000\
++\\114\000\000\000\
++\\115\000\000\000\
++\\116\000\000\000\
++\\117\000\000\000\
++\\118\000\000\000\
++\\119\000\000\000\
++\\120\000\000\000\
++\\121\000\000\000\
++\\122\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\123\000\000\000\
++\\124\000\000\000\
++\\125\000\000\000\
++\\126\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\127\000\000\000\
++\\128\000\000\000\
++\\129\000\004\000\075\000\000\000\
++\\130\000\000\000\
++\\131\000\000\000\
++\\132\000\004\000\060\000\000\000\
++\\133\000\000\000\
++\\134\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\135\000\023\000\091\000\000\000\
++\\136\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\137\000\023\000\059\000\000\000\
++\\138\000\004\000\094\000\000\000\
++\\139\000\000\000\
++\\140\000\000\000\
++\\141\000\000\000\
++\\142\000\012\000\034\000\000\000\
++\\143\000\000\000\
++\\144\000\000\000\
++\\145\000\000\000\
++\\146\000\000\000\
++\\147\000\000\000\
++\\148\000\000\000\
++\\149\000\000\000\
++\\150\000\000\000\
++\\151\000\012\000\044\000\013\000\043\000\000\000\
++\\152\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\153\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\154\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\155\000\000\000\
++\\156\000\000\000\
++\\157\000\000\000\
++\\158\000\000\000\
++\\159\000\000\000\
++\\160\000\030\000\096\000\000\000\
++\"
++val actionRowNumbers =
++"\009\000\031\000\001\000\030\000\
++\\010\000\046\000\011\000\012\000\
++\\013\000\065\000\065\000\023\000\
++\\024\000\015\000\048\000\065\000\
++\\065\000\011\000\047\000\016\000\
++\\065\000\025\000\017\000\065\000\
++\\026\000\032\000\060\000\035\000\
++\\055\000\040\000\008\000\038\000\
++\\065\000\034\000\043\000\002\000\
++\\049\000\073\000\068\000\071\000\
++\\019\000\014\000\078\000\036\000\
++\\041\000\033\000\044\000\037\000\
++\\042\000\029\000\063\000\003\000\
++\\052\000\039\000\000\000\050\000\
++\\020\000\015\000\013\000\021\000\
++\\064\000\015\000\072\000\015\000\
++\\015\000\006\000\004\000\070\000\
++\\081\000\080\000\079\000\062\000\
++\\065\000\065\000\065\000\058\000\
++\\059\000\054\000\056\000\045\000\
++\\074\000\075\000\069\000\018\000\
++\\015\000\061\000\083\000\051\000\
++\\053\000\015\000\005\000\077\000\
++\\065\000\027\000\022\000\057\000\
++\\015\000\083\000\066\000\082\000\
++\\076\000\028\000\067\000\007\000"
++val gotoT =
++"\
++\\001\000\103\000\000\000\
++\\006\000\002\000\000\000\
++\\005\000\003\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\025\000\000\000\
++\\000\000\
++\\013\000\029\000\014\000\028\000\000\000\
++\\003\000\031\000\000\000\
++\\003\000\033\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\037\000\017\000\036\000\000\000\
++\\000\000\
++\\003\000\043\000\000\000\
++\\003\000\044\000\000\000\
++\\002\000\045\000\000\000\
++\\000\000\
++\\000\000\
++\\003\000\047\000\000\000\
++\\000\000\
++\\010\000\050\000\011\000\049\000\000\000\
++\\003\000\054\000\015\000\053\000\016\000\052\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\060\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\004\000\066\000\008\000\065\000\000\000\
++\\007\000\070\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\010\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\037\000\017\000\076\000\000\000\
++\\013\000\077\000\014\000\028\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\037\000\017\000\079\000\000\000\
++\\000\000\
++\\007\000\037\000\017\000\080\000\000\000\
++\\007\000\037\000\017\000\081\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\086\000\009\000\085\000\000\000\
++\\003\000\054\000\015\000\087\000\016\000\052\000\000\000\
++\\003\000\088\000\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\007\000\062\000\000\000\
++\\007\000\062\000\000\000\
++\\000\000\
++\\004\000\090\000\000\000\
++\\007\000\037\000\017\000\091\000\000\000\
++\\000\000\
++\\012\000\093\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\037\000\017\000\095\000\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\003\000\097\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\007\000\037\000\017\000\100\000\000\000\
++\\012\000\101\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 104
++val numrules = 55
++val s = ref "" and index = ref 0
++val string_to_int = fn () => 
++let val i = !index
++in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
++end
++val string_to_list = fn s' =>
++    let val len = String.size s'
++        fun f () =
++           if !index < len then string_to_int() :: f()
++           else nil
++   in index := 0; s := s'; f ()
++   end
++val string_to_pairlist = fn (conv_key,conv_entry) =>
++     let fun f () =
++         case string_to_int()
++         of 0 => EMPTY
++          | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
++     in f
++     end
++val string_to_pairlist_default = fn (conv_key,conv_entry) =>
++    let val conv_row = string_to_pairlist(conv_key,conv_entry)
++    in fn () =>
++       let val default = conv_entry(string_to_int())
++           val row = conv_row()
++       in (row,default)
++       end
++   end
++val string_to_table = fn (convert_row,s') =>
++    let val len = String.size s'
++        fun f ()=
++           if !index < len then convert_row() :: f()
++           else nil
++     in (s := s'; index := 0; f ())
++     end
++local
++  val memo = Array.array(numstates+numrules,ERROR)
++  val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
++       fun f i =
++            if i=numstates then g i
++            else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
++          in f 0 handle General.Subscript => ()
++          end
++in
++val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
++end
++val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
++val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
++val actionRowNumbers = string_to_list actionRowNumbers
++val actionT = let val actionRowLookUp=
++let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
++in Array.fromList(List.map actionRowLookUp actionRowNumbers)
++end
++in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
++numStates=numstates,initialState=STATE 0}
++end
++end
++local open Header in
++type pos = pos
++type arg = Hdr.inputSource
++structure MlyValue = 
++struct
++datatype svalue = VOID | ntVOID of unit ->  unit | UNKNOWN of unit ->  (string) | TYVAR of unit ->  (string) | PROG of unit ->  (string) | PREC of unit ->  (Header.prec) | INT of unit ->  (string) | IDDOT of unit ->  (string) | ID of unit ->  (string*Header.pos) | HEADER of unit ->  (string) | TY of unit ->  (string) | CHANGE_DEC of unit ->  ( ( Hdr.symbol list * Hdr.symbol list ) ) | CHANGE_DECL of unit ->  ( ( Hdr.symbol list * Hdr.symbol list )  list) | SUBST_DEC of unit ->  ( ( Hdr.symbol list * Hdr.symbol list ) ) | SUBST_DECL of unit ->  ( ( Hdr.symbol list * Hdr.symbol list )  list) | G_RULE_PREC of unit ->  (Hdr.symbol option) | G_RULE_LIST of unit ->  (Hdr.rule list) | G_RULE of unit ->  (Hdr.rule list) | RHS_LIST of unit ->  ({ rhs:Hdr.symbol list,code:{ text:string,pos:Header.pos } ,prec:Hdr.symbol option }  list) | RECORD_LIST of unit ->  (string) | QUAL_ID of unit ->  (string) | MPC_DECLS of unit ->  (Hdr.declData) | MPC_DECL of unit ->  (Hdr.declData) | LABEL of unit ->  (string) | ID_LIST of unit ->  (Hdr.symbol list) | CONSTR_LIST of unit ->  ( ( Hdr.symbol * Hdr.ty option )  list) | BEGIN of unit ->  (string*Hdr.declData* ( Hdr.rule list ) )
++end
++type svalue = MlyValue.svalue
++type result = string*Hdr.declData* ( Hdr.rule list ) 
++end
++structure EC=
++struct
++open LrTable
++infix 5 $$
++fun x $$ y = y::x
++val is_keyword =
++fn _ => false
++val preferred_change : (term list * term list) list = 
++nil
++val noShift = 
++fn (T 8) => true | _ => false
++val showTerminal =
++fn (T 0) => "ARROW"
++  | (T 1) => "ASTERISK"
++  | (T 2) => "BLOCK"
++  | (T 3) => "BAR"
++  | (T 4) => "CHANGE"
++  | (T 5) => "COLON"
++  | (T 6) => "COMMA"
++  | (T 7) => "DELIMITER"
++  | (T 8) => "EOF"
++  | (T 9) => "FOR"
++  | (T 10) => "HEADER"
++  | (T 11) => "ID"
++  | (T 12) => "IDDOT"
++  | (T 13) => "PERCENT_HEADER"
++  | (T 14) => "INT"
++  | (T 15) => "KEYWORD"
++  | (T 16) => "LBRACE"
++  | (T 17) => "LPAREN"
++  | (T 18) => "NAME"
++  | (T 19) => "NODEFAULT"
++  | (T 20) => "NONTERM"
++  | (T 21) => "NOSHIFT"
++  | (T 22) => "OF"
++  | (T 23) => "PERCENT_EOP"
++  | (T 24) => "PERCENT_PURE"
++  | (T 25) => "PERCENT_POS"
++  | (T 26) => "PERCENT_ARG"
++  | (T 27) => "PERCENT_TOKEN_SIG_INFO"
++  | (T 28) => "PREC"
++  | (T 29) => "PREC_TAG"
++  | (T 30) => "PREFER"
++  | (T 31) => "PROG"
++  | (T 32) => "RBRACE"
++  | (T 33) => "RPAREN"
++  | (T 34) => "SUBST"
++  | (T 35) => "START"
++  | (T 36) => "TERM"
++  | (T 37) => "TYVAR"
++  | (T 38) => "VERBOSE"
++  | (T 39) => "VALUE"
++  | (T 40) => "UNKNOWN"
++  | (T 41) => "BOGUS_VALUE"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn _ => MlyValue.VOID
++end
++val terms : term list = nil
++ $$ (T 41) $$ (T 39) $$ (T 38) $$ (T 36) $$ (T 35) $$ (T 34) $$ (T 33) $$ (T 32) $$ (T 30) $$ (T 29) $$ (T 27) $$ (T 26) $$ (T 25) $$ (T 24) $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20) $$ (T 19) $$ (T 18) $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 13) $$ (T 9) $$ (T 8) $$ (T 7) $$ (T 6) $$ (T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end
++structure Actions =
++struct 
++exception mlyAction of int
++local open Header in
++val actions = 
++fn (i392,defaultPos,stack,
++    (inputSource):arg) =>
++case (i392,stack)
++of  ( 0, ( ( _, ( MlyValue.G_RULE_LIST G_RULE_LIST1, _, G_RULE_LIST1right)) :: _ :: ( _, ( MlyValue.MPC_DECLS MPC_DECLS1, _, _)) :: ( _, ( MlyValue.HEADER HEADER1, HEADER1left, _)) :: rest671)) => let val  result = MlyValue.BEGIN (fn _ => let val  (HEADER as HEADER1) = HEADER1 ()
++ val  (MPC_DECLS as MPC_DECLS1) = MPC_DECLS1 ()
++ val  (G_RULE_LIST as G_RULE_LIST1) = G_RULE_LIST1 ()
++ in ((*#line 58.10 "yacc.grm"*)HEADER,MPC_DECLS,rev G_RULE_LIST(*#line 388.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, HEADER1left, G_RULE_LIST1right), rest671)
++end
++|  ( 1, ( ( _, ( MlyValue.MPC_DECL MPC_DECL1, MPC_DECLleft, MPC_DECL1right)) :: ( _, ( MlyValue.MPC_DECLS MPC_DECLS1, MPC_DECLS1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECLS (fn _ => let val  (MPC_DECLS as MPC_DECLS1) = MPC_DECLS1 ()
++ val  (MPC_DECL as MPC_DECL1) = MPC_DECL1 ()
++ in ((*#line 61.16 "yacc.grm"*)join_decls(MPC_DECLS,MPC_DECL,inputSource,MPC_DECLleft)(*#line 396.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 5, ( result, MPC_DECLS1left, MPC_DECL1right), rest671)
++end
++|  ( 2, ( rest671)) => let val  result = MlyValue.MPC_DECLS (fn _ => ((*#line 63.14 "yacc.grm"*)DECL {prec=nil,nonterm=NONE,term=NONE,eop=nil,control=nil,
++                   keyword=nil,change=nil,
++                   value=nil}(*#line 403.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 5, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 3, ( ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, _, CONSTR_LIST1right)) :: ( _, ( _, TERM1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 ()
++ in ((*#line 68.14 "yacc.grm"*)DECL { prec=nil,nonterm=NONE,
++               term = SOME CONSTR_LIST, eop =nil,control=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 409.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, TERM1left, CONSTR_LIST1right), rest671)
++end
++|  ( 4, ( ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, _, CONSTR_LIST1right)) :: ( _, ( _, NONTERM1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 ()
++ in ((*#line 74.14 "yacc.grm"*)DECL { prec=nil,control=nil,nonterm= SOME CONSTR_LIST,
++               term = NONE, eop=nil,change=nil,keyword=nil,
++               value=nil}(*#line 418.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, NONTERM1left, CONSTR_LIST1right), rest671)
++end
++|  ( 5, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( MlyValue.PREC PREC1, PREC1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (PREC as PREC1) = PREC1 ()
++ val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 79.14 "yacc.grm"*)DECL {prec= [(PREC,ID_LIST)],control=nil,
++              nonterm=NONE,term=NONE,eop=nil,change=nil,
++              keyword=nil,value=nil}(*#line 426.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PREC1left, ID_LIST1right), rest671)
++end
++|  ( 6, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, START1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 84.15 "yacc.grm"*)DECL {prec=nil,control=[START_SYM (symbolMake ID)],nonterm=NONE,
++               term = NONE, eop = nil,change=nil,keyword=nil,
++               value=nil}(*#line 435.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, START1left, ID1right), rest671)
++end
++|  ( 7, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, PERCENT_EOP1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 89.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,
++                eop=ID_LIST, change=nil,keyword=nil,
++                value=nil}(*#line 443.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_EOP1left, ID_LIST1right), rest671)
++end
++|  ( 8, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, KEYWORD1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 94.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=ID_LIST,
++                value=nil}(*#line 451.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, KEYWORD1left, ID_LIST1right), rest671)
++end
++|  ( 9, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, PREFER1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 99.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
++                    change=map (fn i=>([],[i])) ID_LIST,keyword=nil,
++                    value=nil}(*#line 459.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PREFER1left, ID_LIST1right), rest671)
++end
++|  ( 10, ( ( _, ( MlyValue.CHANGE_DECL CHANGE_DECL1, _, CHANGE_DECL1right)) :: ( _, ( _, CHANGE1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (CHANGE_DECL as CHANGE_DECL1) = CHANGE_DECL1 ()
++ in ((*#line 104.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
++                change=CHANGE_DECL,keyword=nil,
++                value=nil}(*#line 467.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, CHANGE1left, CHANGE_DECL1right), rest671)
++end
++|  ( 11, ( ( _, ( MlyValue.SUBST_DECL SUBST_DECL1, _, SUBST_DECL1right)) :: ( _, ( _, SUBST1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (SUBST_DECL as SUBST_DECL1) = SUBST_DECL1 ()
++ in ((*#line 108.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
++                change=SUBST_DECL,keyword=nil,
++                value=nil}(*#line 475.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, SUBST1left, SUBST_DECL1right), rest671)
++end
++|  ( 12, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, NOSHIFT1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 112.15 "yacc.grm"*)DECL {prec=nil,control=[NSHIFT ID_LIST],nonterm=NONE,term=NONE,
++                    eop=nil,change=nil,keyword=nil,
++                    value=nil}(*#line 483.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, NOSHIFT1left, ID_LIST1right), rest671)
++end
++|  ( 13, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_HEADER1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 116.15 "yacc.grm"*)DECL {prec=nil,control=[FUNCTOR PROG],nonterm=NONE,term=NONE,
++                    eop=nil,change=nil,keyword=nil,
++                    value=nil}(*#line 491.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_HEADER1left, PROG1right), rest671)
++end
++|  ( 14, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_TOKEN_SIG_INFO1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 120.15 "yacc.grm"*)DECL {prec=nil,control=[TOKEN_SIG_INFO PROG],
++                    nonterm=NONE,term=NONE,
++                    eop=nil,change=nil,keyword=nil,
++                    value=nil}(*#line 499.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_TOKEN_SIG_INFO1left, PROG1right), rest671)
++end
++|  ( 15, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, NAME1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 125.15 "yacc.grm"*)DECL {prec=nil,control=[PARSER_NAME (symbolMake ID)],
++                    nonterm=NONE,term=NONE,
++                    eop=nil,change=nil,keyword=nil, value=nil}(*#line 508.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, NAME1left, ID1right), rest671)
++end
++|  ( 16, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.PROG PROG1, _, _)) :: ( _, ( _, PERCENT_ARG1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (PROG as PROG1) = PROG1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 130.15 "yacc.grm"*)DECL {prec=nil,control=[PARSE_ARG(PROG,TY)],nonterm=NONE,
++                    term=NONE,eop=nil,change=nil,keyword=nil,
++                     value=nil}(*#line 516.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_ARG1left, TY1right), rest671)
++end
++|  ( 17, ( ( _, ( _, VERBOSE1left, VERBOSE1right)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => ((*#line 135.15 "yacc.grm"*)DECL {prec=nil,control=[Hdr.VERBOSE],
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 525.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 4, ( result, VERBOSE1left, VERBOSE1right), rest671)
++end
++|  ( 18, ( ( _, ( _, NODEFAULT1left, NODEFAULT1right)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => ((*#line 140.15 "yacc.grm"*)DECL {prec=nil,control=[Hdr.NODEFAULT],
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 532.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 4, ( result, NODEFAULT1left, NODEFAULT1right), rest671)
++end
++|  ( 19, ( ( _, ( _, PERCENT_PURE1left, PERCENT_PURE1right)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => ((*#line 145.15 "yacc.grm"*)DECL {prec=nil,control=[Hdr.PURE],
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 539.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 4, ( result, PERCENT_PURE1left, PERCENT_PURE1right), rest671)
++end
++|  ( 20, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: ( _, ( _, PERCENT_POS1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (TY as TY1) = TY1 ()
++ in ((*#line 150.15 "yacc.grm"*)DECL {prec=nil,control=[Hdr.POS TY],
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 546.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_POS1left, TY1right), rest671)
++end
++|  ( 21, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( MlyValue.ID ID1, _, _)) :: ( _, ( _, VALUE1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID as ID1) = ID1 ()
++ val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 155.15 "yacc.grm"*)DECL {prec=nil,control=nil,
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=[(symbolMake ID,PROG)]}(*#line 555.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, VALUE1left, PROG1right), rest671)
++end
++|  ( 22, ( ( _, ( MlyValue.CHANGE_DECL CHANGE_DECL1, _, CHANGE_DECL1right)) :: _ :: ( _, ( MlyValue.CHANGE_DEC CHANGE_DEC1, CHANGE_DEC1left, _)) :: rest671)) => let val  result = MlyValue.CHANGE_DECL (fn _ => let val  (CHANGE_DEC as CHANGE_DEC1) = CHANGE_DEC1 ()
++ val  (CHANGE_DECL as CHANGE_DECL1) = CHANGE_DECL1 ()
++ in ((*#line 161.22 "yacc.grm"*)CHANGE_DEC :: CHANGE_DECL(*#line 565.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, CHANGE_DEC1left, CHANGE_DECL1right), rest671)
++end
++|  ( 23, ( ( _, ( MlyValue.CHANGE_DEC CHANGE_DEC1, CHANGE_DEC1left, CHANGE_DEC1right)) :: rest671)) => let val  result = MlyValue.CHANGE_DECL (fn _ => let val  (CHANGE_DEC as CHANGE_DEC1) = CHANGE_DEC1 ()
++ in ((*#line 163.22 "yacc.grm"*)[CHANGE_DEC](*#line 572.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, CHANGE_DEC1left, CHANGE_DEC1right), rest671)
++end
++|  ( 24, ( ( _, ( MlyValue.ID_LIST ID_LIST2, _, ID_LIST2right)) :: _ :: ( _, ( MlyValue.ID_LIST ID_LIST1, ID_LIST1left, _)) :: rest671)) => let val  result = MlyValue.CHANGE_DEC (fn _ => let val  ID_LIST1 = ID_LIST1 ()
++ val  ID_LIST2 = ID_LIST2 ()
++ in ((*#line 166.20 "yacc.grm"*)ID_LIST1, ID_LIST2(*#line 578.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 15, ( result, ID_LIST1left, ID_LIST2right), rest671)
++end
++|  ( 25, ( ( _, ( MlyValue.SUBST_DECL SUBST_DECL1, _, SUBST_DECL1right)) :: _ :: ( _, ( MlyValue.SUBST_DEC SUBST_DEC1, SUBST_DEC1left, _)) :: rest671)) => let val  result = MlyValue.SUBST_DECL (fn _ => let val  (SUBST_DEC as SUBST_DEC1) = SUBST_DEC1 ()
++ val  (SUBST_DECL as SUBST_DECL1) = SUBST_DECL1 ()
++ in ((*#line 169.16 "yacc.grm"*)SUBST_DEC :: SUBST_DECL(*#line 585.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 12, ( result, SUBST_DEC1left, SUBST_DECL1right), rest671)
++end
++|  ( 26, ( ( _, ( MlyValue.SUBST_DEC SUBST_DEC1, SUBST_DEC1left, SUBST_DEC1right)) :: rest671)) => let val  result = MlyValue.SUBST_DECL (fn _ => let val  (SUBST_DEC as SUBST_DEC1) = SUBST_DEC1 ()
++ in ((*#line 171.16 "yacc.grm"*)[SUBST_DEC](*#line 592.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 12, ( result, SUBST_DEC1left, SUBST_DEC1right), rest671)
++end
++|  ( 27, ( ( _, ( MlyValue.ID ID2, _, ID2right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val  result = MlyValue.SUBST_DEC (fn _ => let val  ID1 = ID1 ()
++ val  ID2 = ID2 ()
++ in ((*#line 174.16 "yacc.grm"*)[symbolMake ID2],[symbolMake ID1](*#line 598.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 13, ( result, ID1left, ID2right), rest671)
++end
++|  ( 28, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.ID ID1, _, _)) :: _ :: ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, CONSTR_LIST1left, _)) :: rest671)) => let val  result = MlyValue.CONSTR_LIST (fn _ => let val  (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 ()
++ val  (ID as ID1) = ID1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 177.15 "yacc.grm"*)(symbolMake ID,SOME (tyMake TY))::CONSTR_LIST(*#line 605.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, CONSTR_LIST1left, TY1right), rest671)
++end
++|  ( 29, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: _ :: ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, CONSTR_LIST1left, _)) :: rest671)) => let val  result = MlyValue.CONSTR_LIST (fn _ => let val  (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 ()
++ val  (ID as ID1) = ID1 ()
++ in ((*#line 180.15 "yacc.grm"*)(symbolMake ID,NONE)::CONSTR_LIST(*#line 613.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, CONSTR_LIST1left, ID1right), rest671)
++end
++|  ( 30, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val  result = MlyValue.CONSTR_LIST (fn _ => let val  (ID as ID1) = ID1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 182.21 "yacc.grm"*)[(symbolMake ID,SOME (tyMake TY))](*#line 620.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, ID1left, TY1right), rest671)
++end
++|  ( 31, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val  result = MlyValue.CONSTR_LIST (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 184.15 "yacc.grm"*)[(symbolMake ID,NONE)](*#line 627.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, ID1left, ID1right), rest671)
++end
++|  ( 32, ( ( _, ( MlyValue.RHS_LIST RHS_LIST1, _, RHS_LIST1right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val  result = MlyValue.G_RULE (fn _ => let val  (ID as ID1) = ID1 ()
++ val  (RHS_LIST as RHS_LIST1) = RHS_LIST1 ()
++ in ((*#line 187.10 "yacc.grm"*)map (fn {rhs,code,prec} =>
++                  Hdr.RULE {lhs=symbolMake ID,rhs=rhs,
++                               code=code,prec=prec})
++         RHS_LIST(*#line 633.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, ID1left, RHS_LIST1right), rest671)
++end
++|  ( 33, ( ( _, ( MlyValue.G_RULE G_RULE1, _, G_RULE1right)) :: ( _, ( MlyValue.G_RULE_LIST G_RULE_LIST1, G_RULE_LIST1left, _)) :: rest671)) => let val  result = MlyValue.G_RULE_LIST (fn _ => let val  (G_RULE_LIST as G_RULE_LIST1) = G_RULE_LIST1 ()
++ val  (G_RULE as G_RULE1) = G_RULE1 ()
++ in ((*#line 192.35 "yacc.grm"*)G_RULE@G_RULE_LIST(*#line 643.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, G_RULE_LIST1left, G_RULE1right), rest671)
++end
++|  ( 34, ( ( _, ( MlyValue.G_RULE G_RULE1, G_RULE1left, G_RULE1right)) :: rest671)) => let val  result = MlyValue.G_RULE_LIST (fn _ => let val  (G_RULE as G_RULE1) = G_RULE1 ()
++ in ((*#line 193.27 "yacc.grm"*)G_RULE(*#line 650.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, G_RULE1left, G_RULE1right), rest671)
++end
++|  ( 35, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val  result = MlyValue.ID_LIST (fn _ => let val  (ID as ID1) = ID1 ()
++ val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 195.23 "yacc.grm"*)symbolMake ID :: ID_LIST(*#line 656.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, ID1left, ID_LIST1right), rest671)
++end
++|  ( 36, ( rest671)) => let val  result = MlyValue.ID_LIST (fn _ => ((*#line 196.19 "yacc.grm"*)nil(*#line 663.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 2, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 37, ( ( _, ( MlyValue.PROG PROG1, PROGleft, PROG1right)) :: ( _, ( MlyValue.G_RULE_PREC G_RULE_PREC1, _, _)) :: ( _, ( MlyValue.ID_LIST ID_LIST1, ID_LIST1left, _)) :: rest671)) => let val  result = MlyValue.RHS_LIST (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ val  (G_RULE_PREC as G_RULE_PREC1) = G_RULE_PREC1 ()
++ val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 199.14 "yacc.grm"*)[{rhs=ID_LIST,code={text=PROG,pos=PROGleft},prec=G_RULE_PREC}](*#line 667.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 8, ( result, ID_LIST1left, PROG1right), rest671)
++end
++|  ( 38, ( ( _, ( MlyValue.PROG PROG1, PROGleft, PROG1right)) :: ( _, ( MlyValue.G_RULE_PREC G_RULE_PREC1, _, _)) :: ( _, ( MlyValue.ID_LIST ID_LIST1, _, _)) :: _ :: ( _, ( MlyValue.RHS_LIST RHS_LIST1, RHS_LIST1left, _)) :: rest671)) => let val  result = MlyValue.RHS_LIST (fn _ => let val  (RHS_LIST as RHS_LIST1) = RHS_LIST1 ()
++ val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ val  (G_RULE_PREC as G_RULE_PREC1) = G_RULE_PREC1 ()
++ val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 202.14 "yacc.grm"*){rhs=ID_LIST,code={text=PROG,pos=PROGleft},prec=G_RULE_PREC}::RHS_LIST(*#line 675.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 8, ( result, RHS_LIST1left, PROG1right), rest671)
++end
++|  ( 39, ( ( _, ( MlyValue.TYVAR TYVAR1, TYVAR1left, TYVAR1right)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (TYVAR as TYVAR1) = TYVAR1 ()
++ in ((*#line 205.10 "yacc.grm"*)TYVAR(*#line 684.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, TYVAR1left, TYVAR1right), rest671)
++end
++|  ( 40, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.RECORD_LIST RECORD_LIST1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (RECORD_LIST as RECORD_LIST1) = RECORD_LIST1 ()
++ in ((*#line 207.10 "yacc.grm"*)"{ "^RECORD_LIST^" } "(*#line 690.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 41, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => ((*#line 209.10 "yacc.grm"*)"{}"(*#line 696.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 16, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 42, ( ( _, ( MlyValue.PROG PROG1, PROG1left, PROG1right)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 211.10 "yacc.grm"*)" ( "^PROG^" ) "(*#line 700.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, PROG1left, PROG1right), rest671)
++end
++|  ( 43, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, _, QUAL_ID1right)) :: ( _, ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (TY as TY1) = TY1 ()
++ val  (QUAL_ID as QUAL_ID1) = QUAL_ID1 ()
++ in ((*#line 213.10 "yacc.grm"*)TY^" "^QUAL_ID(*#line 706.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, TY1left, QUAL_ID1right), rest671)
++end
++|  ( 44, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, QUAL_ID1left, QUAL_ID1right)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (QUAL_ID as QUAL_ID1) = QUAL_ID1 ()
++ in ((*#line 215.10 "yacc.grm"*)QUAL_ID(*#line 713.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, QUAL_ID1left, QUAL_ID1right), rest671)
++end
++|  ( 45, ( ( _, ( MlyValue.TY TY2, _, TY2right)) :: _ :: ( _, ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  TY1 = TY1 ()
++ val  TY2 = TY2 ()
++ in ((*#line 217.10 "yacc.grm"*)TY1^"*"^TY2(*#line 719.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, TY1left, TY2right), rest671)
++end
++|  ( 46, ( ( _, ( MlyValue.TY TY2, _, TY2right)) :: _ :: ( _, ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  TY1 = TY1 ()
++ val  TY2 = TY2 ()
++ in ((*#line 219.10 "yacc.grm"*)TY1 ^ " -> " ^ TY2(*#line 726.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, TY1left, TY2right), rest671)
++end
++|  ( 47, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.LABEL LABEL1, _, _)) :: _ :: ( _, ( MlyValue.RECORD_LIST RECORD_LIST1, RECORD_LIST1left, _)) :: rest671)) => let val  result = MlyValue.RECORD_LIST (fn _ => let val  (RECORD_LIST as RECORD_LIST1) = RECORD_LIST1 ()
++ val  (LABEL as LABEL1) = LABEL1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 222.18 "yacc.grm"*)RECORD_LIST^","^LABEL^":"^TY(*#line 733.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, RECORD_LIST1left, TY1right), rest671)
++end
++|  ( 48, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.LABEL LABEL1, LABEL1left, _)) :: rest671)) => let val  result = MlyValue.RECORD_LIST (fn _ => let val  (LABEL as LABEL1) = LABEL1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 224.18 "yacc.grm"*)LABEL^":"^TY(*#line 741.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, LABEL1left, TY1right), rest671)
++end
++|  ( 49, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val  result = MlyValue.QUAL_ID (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 226.18 "yacc.grm"*)(fn (a,_) => a) ID(*#line 748.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 6, ( result, ID1left, ID1right), rest671)
++end
++|  ( 50, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, _, QUAL_ID1right)) :: ( _, ( MlyValue.IDDOT IDDOT1, IDDOT1left, _)) :: rest671)) => let val  result = MlyValue.QUAL_ID (fn _ => let val  (IDDOT as IDDOT1) = IDDOT1 ()
++ val  (QUAL_ID as QUAL_ID1) = QUAL_ID1 ()
++ in ((*#line 227.25 "yacc.grm"*)IDDOT^QUAL_ID(*#line 754.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 6, ( result, IDDOT1left, QUAL_ID1right), rest671)
++end
++|  ( 51, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val  result = MlyValue.LABEL (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 229.14 "yacc.grm"*)(fn (a,_) => a) ID(*#line 761.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, ID1left, ID1right), rest671)
++end
++|  ( 52, ( ( _, ( MlyValue.INT INT1, INT1left, INT1right)) :: rest671)) => let val  result = MlyValue.LABEL (fn _ => let val  (INT as INT1) = INT1 ()
++ in ((*#line 230.14 "yacc.grm"*)INT(*#line 767.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, INT1left, INT1right), rest671)
++end
++|  ( 53, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, PREC_TAG1left, _)) :: rest671)) => let val  result = MlyValue.G_RULE_PREC (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 232.28 "yacc.grm"*)SOME (symbolMake ID)(*#line 773.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, PREC_TAG1left, ID1right), rest671)
++end
++|  ( 54, ( rest671)) => let val  result = MlyValue.G_RULE_PREC (fn _ => ((*#line 234.16 "yacc.grm"*)NONE(*#line 779.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671)
++end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID
++val extract = fn a => (fn MlyValue.BEGIN x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a ()
++end
++end
++structure Tokens : Mlyacc_TOKENS =
++struct
++type svalue = ParserData.svalue
++type ('a,'b) token = ('a,'b) Token.token
++fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(ParserData.MlyValue.VOID,p1,p2))
++fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(ParserData.MlyValue.VOID,p1,p2))
++fun BLOCK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(ParserData.MlyValue.VOID,p1,p2))
++fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(ParserData.MlyValue.VOID,p1,p2))
++fun CHANGE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(ParserData.MlyValue.VOID,p1,p2))
++fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(ParserData.MlyValue.VOID,p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(ParserData.MlyValue.VOID,p1,p2))
++fun DELIMITER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(ParserData.MlyValue.VOID,p1,p2))
++fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(ParserData.MlyValue.VOID,p1,p2))
++fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(ParserData.MlyValue.VOID,p1,p2))
++fun HEADER (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(ParserData.MlyValue.HEADER (fn () => i),p1,p2))
++fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(ParserData.MlyValue.ID (fn () => i),p1,p2))
++fun IDDOT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(ParserData.MlyValue.IDDOT (fn () => i),p1,p2))
++fun PERCENT_HEADER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(ParserData.MlyValue.VOID,p1,p2))
++fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(ParserData.MlyValue.INT (fn () => i),p1,p2))
++fun KEYWORD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(ParserData.MlyValue.VOID,p1,p2))
++fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(ParserData.MlyValue.VOID,p1,p2))
++fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(ParserData.MlyValue.VOID,p1,p2))
++fun NAME (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(ParserData.MlyValue.VOID,p1,p2))
++fun NODEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(ParserData.MlyValue.VOID,p1,p2))
++fun NONTERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(ParserData.MlyValue.VOID,p1,p2))
++fun NOSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(ParserData.MlyValue.VOID,p1,p2))
++fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_EOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_PURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_POS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_ARG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_TOKEN_SIG_INFO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(ParserData.MlyValue.VOID,p1,p2))
++fun PREC (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(ParserData.MlyValue.PREC (fn () => i),p1,p2))
++fun PREC_TAG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(ParserData.MlyValue.VOID,p1,p2))
++fun PREFER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(ParserData.MlyValue.VOID,p1,p2))
++fun PROG (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(ParserData.MlyValue.PROG (fn () => i),p1,p2))
++fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(ParserData.MlyValue.VOID,p1,p2))
++fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(ParserData.MlyValue.VOID,p1,p2))
++fun SUBST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(ParserData.MlyValue.VOID,p1,p2))
++fun START (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(ParserData.MlyValue.VOID,p1,p2))
++fun TERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(ParserData.MlyValue.VOID,p1,p2))
++fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(ParserData.MlyValue.TYVAR (fn () => i),p1,p2))
++fun VERBOSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(ParserData.MlyValue.VOID,p1,p2))
++fun VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(ParserData.MlyValue.VOID,p1,p2))
++fun UNKNOWN (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(ParserData.MlyValue.UNKNOWN (fn () => i),p1,p2))
++fun BOGUS_VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(ParserData.MlyValue.VOID,p1,p2))
++end
++end
+diff --git a/mlyacc/src/yacc.lex.sml.boot b/mlyacc/src/yacc.lex.sml.boot
+new file mode 100644
+index 000000000..734677119
+--- /dev/null
++++ b/mlyacc/src/yacc.lex.sml.boot
+@@ -0,0 +1,954 @@
++(*#line 62.10 "yacc.lex"*)
++functor LexMLYACC(structure Tokens : Mlyacc_TOKENS
++                  structure Hdr : HEADER (* = Header *)
++                    where type prec = Header.prec
++                      and type inputSource = Header.inputSource) : ARG_LEXER
++(*#line 6.1 "yacc.lex.sml"*)
++=
++   struct
++    structure UserDeclarations =
++      struct
++(*#line 1.1 "yacc.lex"*)(* Modified by Vesa Karvonen on 2007-12-18.
++ * Create line directives in output.
++ *)
++(* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi
++
++   yacc.lex: Lexer specification
++ *)
++
++structure Tokens = Tokens
++type svalue = Tokens.svalue
++type pos = Header.pos
++type ('a,'b) token = ('a,'b) Tokens.token
++type lexresult = (svalue,pos) token
++
++type lexarg = Hdr.inputSource
++type arg = lexarg
++
++open Tokens
++val error = Hdr.error
++val text = Hdr.text
++
++val pcount = ref 0
++val commentLevel = ref 0
++val actionstart = ref {line = 1, col = 0}
++
++fun linePos () = {line = !(#line Hdr.pos), col = 0}
++fun pos pos = {line = !(#line Hdr.pos), col = pos - !(#start Hdr.pos)}
++
++val eof = fn i => (if (!pcount)>0 then
++                        error i (!actionstart)
++                              " eof encountered in action beginning here !"
++                   else (); EOF(linePos (), linePos ()))
++
++val Add = fn s => (text := s::(!text))
++
++
++local val dict = [("%prec",PREC_TAG),("%term",TERM),
++               ("%nonterm",NONTERM), ("%eop",PERCENT_EOP),("%start",START),
++               ("%prefer",PREFER),("%subst",SUBST),("%change",CHANGE),
++               ("%keyword",KEYWORD),("%name",NAME),
++               ("%verbose",VERBOSE), ("%nodefault",NODEFAULT),
++               ("%value",VALUE), ("%noshift",NOSHIFT),
++               ("%header",PERCENT_HEADER),("%pure",PERCENT_PURE),
++               ("%token_sig_info",PERCENT_TOKEN_SIG_INFO),
++               ("%arg",PERCENT_ARG),
++               ("%pos",PERCENT_POS)]
++in
++fun lookup (s,left,right) = let
++       fun f ((a,d)::b) = if a=s then d(left,right) else f b
++         | f nil = UNKNOWN(s,left,right)
++       in
++          f dict
++       end
++end
++
++fun inc (ri as ref i) = (ri := i+1)
++fun dec (ri as ref i) = (ri := i-1)
++
++fun incLineNum pos = (inc (#line Hdr.pos) ; #start Hdr.pos := pos)
++
++(*#line 71.1 "yacc.lex.sml"*)
++end (* end of user routines *)
++exception LexError (* raised if illegal leaf action tried *)
++structure Internal =
++	struct
++
++datatype yyfinstate = N of int
++type statedata = {fin : yyfinstate list, trans: string}
++(* transition & final state table *)
++val tab = let
++val s = [ 
++ (0, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (1, 
++"\015\015\015\015\015\015\015\015\015\015\022\015\015\021\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\019\015\015\017\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015"
++),
++ (3, 
++"\023\023\023\023\023\023\023\023\023\066\069\023\023\068\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\066\023\023\023\023\046\023\044\042\023\041\023\040\038\023\023\
++\\036\036\036\036\036\036\036\036\036\036\035\023\023\023\023\023\
++\\023\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\
++\\027\027\027\027\027\027\027\027\027\027\027\023\023\023\023\023\
++\\023\027\027\027\027\027\032\027\027\027\027\027\027\027\027\030\
++\\027\027\027\027\027\027\027\027\027\027\027\026\025\024\023\023\
++\\023"
++),
++ (5, 
++"\070\070\070\070\070\070\070\070\070\070\022\070\070\075\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\074\070\070\070\070\070\072\071\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070"
++),
++ (7, 
++"\076\076\076\076\076\076\076\076\076\078\022\076\076\080\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\078\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\077\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076"
++),
++ (9, 
++"\081\081\081\081\081\081\081\081\081\081\022\081\081\075\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\085\084\082\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081"
++),
++ (11, 
++"\087\087\087\087\087\087\087\087\087\087\095\087\087\094\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\093\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\088\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087"
++),
++ (13, 
++"\096\096\096\096\096\096\096\096\096\096\022\096\096\075\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\100\099\097\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096"
++),
++ (15, 
++"\016\016\016\016\016\016\016\016\016\016\000\016\016\000\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\000\016\016\000\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016"
++),
++ (17, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (19, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (21, 
++"\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (27, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\
++\\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\
++\\000"
++),
++ (30, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\
++\\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\
++\\000\028\028\028\028\028\031\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\
++\\000"
++),
++ (32, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\
++\\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\033\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\
++\\000"
++),
++ (33, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\
++\\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\034\028\028\028\028\028\028\028\028\000\000\000\000\000\
++\\000"
++),
++ (36, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\037\037\037\037\037\037\037\037\037\037\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (38, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\039\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (42, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\043\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (44, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\045\000\000\000\000\000\000\000\000\
++\\045\045\045\045\045\045\045\045\045\045\000\000\000\000\000\000\
++\\000\045\045\045\045\045\045\045\045\045\045\045\045\045\045\045\
++\\045\045\045\045\045\045\045\045\045\045\045\000\000\000\000\045\
++\\000\045\045\045\045\045\045\045\045\045\045\045\045\045\045\045\
++\\045\045\045\045\045\045\045\045\045\045\045\000\000\000\000\000\
++\\000"
++),
++ (46, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\065\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\061\047\053\047\
++\\047\047\048\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (47, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (48, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\049\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (49, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\050\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (50, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\051\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (51, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\052\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (53, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\054\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (54, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\055\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (55, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\056\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (56, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\057\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (57, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\058\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (58, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\059\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (59, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\060\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (61, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\062\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (62, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\063\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (63, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\064\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (66, 
++"\000\000\000\000\000\000\000\000\000\067\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\067\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (68, 
++"\000\000\000\000\000\000\000\000\000\000\069\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (70, 
++"\070\070\070\070\070\070\070\070\070\070\000\070\070\000\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\000\070\070\070\070\070\000\000\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070"
++),
++ (72, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\073\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (78, 
++"\000\000\000\000\000\000\000\000\000\079\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\079\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (81, 
++"\081\081\081\081\081\081\081\081\081\081\000\081\081\000\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\000\000\000\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081"
++),
++ (82, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\083\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (85, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\086\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (87, 
++"\087\087\087\087\087\087\087\087\087\087\000\087\087\000\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\000\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\000\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087"
++),
++ (88, 
++"\000\000\000\000\000\000\000\000\000\090\092\000\000\091\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\090\000\089\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (91, 
++"\000\000\000\000\000\000\000\000\000\000\092\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (94, 
++"\000\000\000\000\000\000\000\000\000\000\095\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (96, 
++"\096\096\096\096\096\096\096\096\096\096\000\096\096\000\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\000\000\000\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096"
++),
++ (97, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\098\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (100, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\101\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++(0, "")]
++fun f x = x 
++val s = List.map f (List.rev (tl (List.rev s))) 
++exception LexHackingError 
++fun look ((j,x)::r, i: int) = if i = j then x else look(r, i) 
++  | look ([], i) = raise LexHackingError
++fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} 
++in Vector.fromList(List.map g 
++[{fin = [], trans = 0},
++{fin = [], trans = 1},
++{fin = [], trans = 1},
++{fin = [], trans = 3},
++{fin = [], trans = 3},
++{fin = [], trans = 5},
++{fin = [], trans = 5},
++{fin = [], trans = 7},
++{fin = [], trans = 7},
++{fin = [], trans = 9},
++{fin = [], trans = 9},
++{fin = [], trans = 11},
++{fin = [], trans = 11},
++{fin = [], trans = 13},
++{fin = [], trans = 13},
++{fin = [(N 11),(N 21)], trans = 15},
++{fin = [(N 11)], trans = 15},
++{fin = [(N 21)], trans = 17},
++{fin = [(N 2)], trans = 0},
++{fin = [(N 21)], trans = 19},
++{fin = [(N 14)], trans = 0},
++{fin = [(N 19),(N 21)], trans = 21},
++{fin = [(N 19)], trans = 0},
++{fin = [(N 100)], trans = 0},
++{fin = [(N 42),(N 100)], trans = 0},
++{fin = [(N 93),(N 100)], trans = 0},
++{fin = [(N 40),(N 100)], trans = 0},
++{fin = [(N 96),(N 100)], trans = 27},
++{fin = [(N 96)], trans = 27},
++{fin = [(N 83)], trans = 0},
++{fin = [(N 96),(N 100)], trans = 30},
++{fin = [(N 34),(N 96)], trans = 27},
++{fin = [(N 96),(N 100)], trans = 32},
++{fin = [(N 96)], trans = 33},
++{fin = [(N 38),(N 96)], trans = 27},
++{fin = [(N 91),(N 100)], trans = 0},
++{fin = [(N 86),(N 100)], trans = 36},
++{fin = [(N 86)], trans = 36},
++{fin = [(N 100)], trans = 38},
++{fin = [(N 49)], trans = 0},
++{fin = [(N 44),(N 100)], trans = 0},
++{fin = [(N 46),(N 100)], trans = 0},
++{fin = [(N 98),(N 100)], trans = 42},
++{fin = [(N 5)], trans = 0},
++{fin = [(N 79),(N 100)], trans = 44},
++{fin = [(N 79)], trans = 44},
++{fin = [(N 100)], trans = 46},
++{fin = [(N 76)], trans = 47},
++{fin = [(N 76)], trans = 48},
++{fin = [(N 76)], trans = 49},
++{fin = [(N 76)], trans = 50},
++{fin = [(N 76)], trans = 51},
++{fin = [(N 62),(N 76)], trans = 47},
++{fin = [(N 76)], trans = 53},
++{fin = [(N 76)], trans = 54},
++{fin = [(N 76)], trans = 55},
++{fin = [(N 76)], trans = 56},
++{fin = [(N 76)], trans = 57},
++{fin = [(N 76)], trans = 58},
++{fin = [(N 76)], trans = 59},
++{fin = [(N 72),(N 76)], trans = 47},
++{fin = [(N 76)], trans = 61},
++{fin = [(N 76)], trans = 62},
++{fin = [(N 76)], trans = 63},
++{fin = [(N 55),(N 76)], trans = 47},
++{fin = [(N 89)], trans = 0},
++{fin = [(N 31),(N 100)], trans = 66},
++{fin = [(N 31)], trans = 66},
++{fin = [(N 26),(N 100)], trans = 68},
++{fin = [(N 26)], trans = 0},
++{fin = [(N 109)], trans = 70},
++{fin = [(N 104)], trans = 0},
++{fin = [(N 102)], trans = 72},
++{fin = [(N 8)], trans = 0},
++{fin = [(N 106)], trans = 0},
++{fin = [(N 19)], trans = 21},
++{fin = [(N 162)], trans = 0},
++{fin = [(N 160),(N 162)], trans = 0},
++{fin = [(N 158),(N 162)], trans = 78},
++{fin = [(N 158)], trans = 78},
++{fin = [(N 19),(N 162)], trans = 21},
++{fin = [(N 120)], trans = 81},
++{fin = [(N 111)], trans = 82},
++{fin = [(N 114)], trans = 0},
++{fin = [(N 111)], trans = 0},
++{fin = [(N 111)], trans = 85},
++{fin = [(N 117)], trans = 0},
++{fin = [(N 143)], trans = 87},
++{fin = [(N 135)], trans = 88},
++{fin = [(N 146)], trans = 0},
++{fin = [(N 155)], trans = 0},
++{fin = [(N 152)], trans = 91},
++{fin = [(N 152)], trans = 0},
++{fin = [(N 133)], trans = 0},
++{fin = [(N 140)], trans = 94},
++{fin = [(N 140)], trans = 0},
++{fin = [(N 131)], trans = 96},
++{fin = [(N 122)], trans = 97},
++{fin = [(N 125)], trans = 0},
++{fin = [(N 122)], trans = 0},
++{fin = [(N 122)], trans = 100},
++{fin = [(N 128)], trans = 0}])
++end
++structure StartStates =
++	struct
++	datatype yystartstate = STARTSTATE of int
++
++(* start state definitions *)
++
++val A = STARTSTATE 3;
++val CODE = STARTSTATE 5;
++val COMMENT = STARTSTATE 9;
++val EMPTYCOMMENT = STARTSTATE 13;
++val F = STARTSTATE 7;
++val INITIAL = STARTSTATE 1;
++val STRING = STARTSTATE 11;
++
++end
++type result = UserDeclarations.lexresult
++	exception LexerError (* raised if illegal leaf action tried *)
++end
++
++structure YYPosInt : INTEGER = Int
++fun makeLexer yyinput =
++let	val yygone0= YYPosInt.fromInt ~1
++	val yyb = ref "\n" 		(* buffer *)
++	val yybl = ref 1		(*buffer length *)
++	val yybufpos = ref 1		(* location of next character to use *)
++	val yygone = ref yygone0	(* position in file of beginning of buffer *)
++	val yydone = ref false		(* eof found yet? *)
++	val yybegin = ref 1		(*Current 'start state' for lexer *)
++
++	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
++		 yybegin := x
++
++fun lex (yyarg as ((*#line 68.7 "yacc.lex"*)inputSource(*#line 786.1 "yacc.lex.sml"*)
++)) =
++let fun continue() : Internal.result = 
++  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
++	let fun action (i,nil) = raise LexError
++	| action (i,nil::l) = action (i-1,l)
++	| action (i,(node::acts)::l) =
++		case node of
++		    Internal.N yyk => 
++			(let fun yymktext() = String.substring(!yyb,i0,i-i0)
++			     val yypos = YYPosInt.+(YYPosInt.fromInt i0, !yygone)
++			open UserDeclarations Internal.StartStates
++ in (yybufpos := i; case yyk of 
++
++			(* Application actions *)
++
++  100 => let val yytext=yymktext() in (*#line 109.21 "yacc.lex"*)UNKNOWN(yytext,pos yypos,pos yypos)(*#line 802.1 "yacc.lex.sml"*)
++ end
++| 102 => let val yytext=yymktext() in (*#line 110.21 "yacc.lex"*)inc pcount; Add yytext; continue()(*#line 804.1 "yacc.lex.sml"*)
++ end
++| 104 => let val yytext=yymktext() in (*#line 111.21 "yacc.lex"*)dec pcount;
++                    if !pcount = 0 then
++                         PROG (concat (rev (!text)),!actionstart,pos yypos)
++                    else (Add yytext; continue())(*#line 809.1 "yacc.lex.sml"*)
++ end
++| 106 => let val yytext=yymktext() in (*#line 115.21 "yacc.lex"*)Add yytext; YYBEGIN STRING; continue()(*#line 811.1 "yacc.lex.sml"*)
++ end
++| 109 => let val yytext=yymktext() in (*#line 116.25 "yacc.lex"*)Add yytext; continue()(*#line 813.1 "yacc.lex.sml"*)
++ end
++| 11 => let val yytext=yymktext() in (*#line 82.27 "yacc.lex"*)Add yytext; continue()(*#line 815.1 "yacc.lex.sml"*)
++ end
++| 111 => let val yytext=yymktext() in (*#line 118.21 "yacc.lex"*)Add yytext; continue()(*#line 817.1 "yacc.lex.sml"*)
++ end
++| 114 => let val yytext=yymktext() in (*#line 119.21 "yacc.lex"*)Add yytext; dec commentLevel;
++                    if !commentLevel=0
++                         then BOGUS_VALUE(pos yypos,pos yypos)
++                         else continue()
++                   (*#line 823.1 "yacc.lex.sml"*)
++ end
++| 117 => let val yytext=yymktext() in (*#line 124.21 "yacc.lex"*)Add yytext; inc commentLevel; continue()(*#line 825.1 "yacc.lex.sml"*)
++ end
++| 120 => let val yytext=yymktext() in (*#line 125.28 "yacc.lex"*)Add yytext; continue()(*#line 827.1 "yacc.lex.sml"*)
++ end
++| 122 => ((*#line 127.26 "yacc.lex"*)continue()(*#line 829.1 "yacc.lex.sml"*)
++)
++| 125 => ((*#line 128.26 "yacc.lex"*)dec commentLevel;
++                          if !commentLevel=0 then YYBEGIN A else ();
++                          continue ()(*#line 833.1 "yacc.lex.sml"*)
++)
++| 128 => ((*#line 131.26 "yacc.lex"*)inc commentLevel; continue()(*#line 835.1 "yacc.lex.sml"*)
++)
++| 131 => ((*#line 132.33 "yacc.lex"*)continue()(*#line 837.1 "yacc.lex.sml"*)
++)
++| 133 => let val yytext=yymktext() in (*#line 134.21 "yacc.lex"*)Add yytext; YYBEGIN CODE; continue()(*#line 839.1 "yacc.lex.sml"*)
++ end
++| 135 => let val yytext=yymktext() in (*#line 135.21 "yacc.lex"*)Add yytext; continue()(*#line 841.1 "yacc.lex.sml"*)
++ end
++| 14 => ((*#line 83.22 "yacc.lex"*)YYBEGIN A; HEADER (concat (rev (!text)),pos yypos,pos yypos)(*#line 843.1 "yacc.lex.sml"*)
++)
++| 140 => let val yytext=yymktext() in (*#line 136.21 "yacc.lex"*)Add yytext; error inputSource (pos yypos) "unclosed string";
++                    incLineNum yypos; YYBEGIN CODE; continue()(*#line 846.1 "yacc.lex.sml"*)
++ end
++| 143 => let val yytext=yymktext() in (*#line 138.27 "yacc.lex"*)Add yytext; continue()(*#line 848.1 "yacc.lex.sml"*)
++ end
++| 146 => let val yytext=yymktext() in (*#line 139.21 "yacc.lex"*)Add yytext; continue()(*#line 850.1 "yacc.lex.sml"*)
++ end
++| 152 => let val yytext=yymktext() in (*#line 140.21 "yacc.lex"*)Add yytext; incLineNum yypos; YYBEGIN F; continue()(*#line 852.1 "yacc.lex.sml"*)
++ end
++| 155 => let val yytext=yymktext() in (*#line 141.22 "yacc.lex"*)Add yytext; YYBEGIN F; continue()(*#line 854.1 "yacc.lex.sml"*)
++ end
++| 158 => let val yytext=yymktext() in (*#line 143.21 "yacc.lex"*)Add yytext; continue()(*#line 856.1 "yacc.lex.sml"*)
++ end
++| 160 => let val yytext=yymktext() in (*#line 144.21 "yacc.lex"*)Add yytext; YYBEGIN STRING; continue()(*#line 858.1 "yacc.lex.sml"*)
++ end
++| 162 => let val yytext=yymktext() in (*#line 145.21 "yacc.lex"*)Add yytext; error inputSource (pos yypos) "unclosed string";
++                    YYBEGIN CODE; continue()(*#line 861.1 "yacc.lex.sml"*)
++ end
++| 19 => let val yytext=yymktext() in (*#line 84.49 "yacc.lex"*)Add yytext; incLineNum yypos; continue()(*#line 863.1 "yacc.lex.sml"*)
++ end
++| 2 => let val yytext=yymktext() in (*#line 77.21 "yacc.lex"*)Add yytext; YYBEGIN COMMENT; commentLevel := 1;
++                    continue(); YYBEGIN INITIAL; continue()(*#line 866.1 "yacc.lex.sml"*)
++ end
++| 21 => let val yytext=yymktext() in (*#line 85.22 "yacc.lex"*)Add yytext; continue()(*#line 868.1 "yacc.lex.sml"*)
++ end
++| 26 => ((*#line 87.21 "yacc.lex"*)incLineNum yypos; continue ()(*#line 870.1 "yacc.lex.sml"*)
++)
++| 31 => ((*#line 88.21 "yacc.lex"*)continue()(*#line 872.1 "yacc.lex.sml"*)
++)
++| 34 => ((*#line 89.21 "yacc.lex"*)OF(pos yypos,pos yypos)(*#line 874.1 "yacc.lex.sml"*)
++)
++| 38 => ((*#line 90.21 "yacc.lex"*)FOR(pos yypos,pos yypos)(*#line 876.1 "yacc.lex.sml"*)
++)
++| 40 => ((*#line 91.21 "yacc.lex"*)LBRACE(pos yypos,pos yypos)(*#line 878.1 "yacc.lex.sml"*)
++)
++| 42 => ((*#line 92.21 "yacc.lex"*)RBRACE(pos yypos,pos yypos)(*#line 880.1 "yacc.lex.sml"*)
++)
++| 44 => ((*#line 93.21 "yacc.lex"*)COMMA(pos yypos,pos yypos)(*#line 882.1 "yacc.lex.sml"*)
++)
++| 46 => ((*#line 94.21 "yacc.lex"*)ASTERISK(pos yypos,pos yypos)(*#line 884.1 "yacc.lex.sml"*)
++)
++| 49 => ((*#line 95.21 "yacc.lex"*)ARROW(pos yypos,pos yypos)(*#line 886.1 "yacc.lex.sml"*)
++)
++| 5 => ((*#line 79.21 "yacc.lex"*)YYBEGIN EMPTYCOMMENT; commentLevel := 1; continue()(*#line 888.1 "yacc.lex.sml"*)
++)
++| 55 => ((*#line 96.21 "yacc.lex"*)PREC(Hdr.LEFT,pos yypos,pos yypos)(*#line 890.1 "yacc.lex.sml"*)
++)
++| 62 => ((*#line 97.21 "yacc.lex"*)PREC(Hdr.RIGHT,pos yypos,pos yypos)(*#line 892.1 "yacc.lex.sml"*)
++)
++| 72 => ((*#line 98.21 "yacc.lex"*)PREC(Hdr.NONASSOC,pos yypos,pos yypos)(*#line 894.1 "yacc.lex.sml"*)
++)
++| 76 => let val yytext=yymktext() in (*#line 99.21 "yacc.lex"*)lookup(yytext,pos yypos,pos yypos)(*#line 896.1 "yacc.lex.sml"*)
++ end
++| 79 => let val yytext=yymktext() in (*#line 100.21 "yacc.lex"*)TYVAR(yytext,pos yypos,pos yypos)(*#line 898.1 "yacc.lex.sml"*)
++ end
++| 8 => let val yytext=yymktext() in (*#line 80.21 "yacc.lex"*)Add yytext; YYBEGIN COMMENT; commentLevel := 1;
++                    continue(); YYBEGIN CODE; continue()(*#line 901.1 "yacc.lex.sml"*)
++ end
++| 83 => let val yytext=yymktext() in (*#line 101.21 "yacc.lex"*)IDDOT(yytext,pos yypos,pos yypos)(*#line 903.1 "yacc.lex.sml"*)
++ end
++| 86 => let val yytext=yymktext() in (*#line 102.21 "yacc.lex"*)INT (yytext,pos yypos,pos yypos)(*#line 905.1 "yacc.lex.sml"*)
++ end
++| 89 => ((*#line 103.21 "yacc.lex"*)DELIMITER(pos yypos,pos yypos)(*#line 907.1 "yacc.lex.sml"*)
++)
++| 91 => ((*#line 104.21 "yacc.lex"*)COLON(pos yypos,pos yypos)(*#line 909.1 "yacc.lex.sml"*)
++)
++| 93 => ((*#line 105.21 "yacc.lex"*)BAR(pos yypos,pos yypos)(*#line 911.1 "yacc.lex.sml"*)
++)
++| 96 => let val yytext=yymktext() in (*#line 106.21 "yacc.lex"*)ID ((yytext,pos yypos),pos yypos,pos yypos)(*#line 913.1 "yacc.lex.sml"*)
++ end
++| 98 => ((*#line 107.21 "yacc.lex"*)pcount := 1; actionstart := pos yypos;
++                    text := nil; YYBEGIN CODE; continue() before YYBEGIN A(*#line 916.1 "yacc.lex.sml"*)
++)
++| _ => raise Internal.LexerError
++
++		) end )
++
++	val {fin,trans} = Vector.sub(Internal.tab, s)
++	val NewAcceptingLeaves = fin::AcceptingLeaves
++	in if l = !yybl then
++	     if trans = #trans(Vector.sub(Internal.tab,0))
++	       then action(l,NewAcceptingLeaves
++) else	    let val newchars= if !yydone then "" else yyinput 1024
++	    in if (String.size newchars)=0
++		  then (yydone := true;
++		        if (l=i0) then UserDeclarations.eof yyarg
++		                  else action(l,NewAcceptingLeaves))
++		  else (if i0=l then yyb := newchars
++		     else yyb := String.substring(!yyb,i0,l-i0)^newchars;
++		     yygone := YYPosInt.+(!yygone, YYPosInt.fromInt i0);
++		     yybl := String.size (!yyb);
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
++	  else let val NewChar = Char.ord(CharVector.sub(!yyb,l))
++		val NewChar = if NewChar<128 then NewChar else 128
++		val NewState = Char.ord(CharVector.sub(trans,NewChar))
++		in if NewState=0 then action(l,NewAcceptingLeaves)
++		else scan(NewState,NewAcceptingLeaves,l+1,i0)
++	end
++	end
++(*
++	val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
++then !yybegin+1 else !yybegin
++*)
++	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++end
diff --git a/srcpkgs/mlton/patches/20-polyml.patch b/srcpkgs/mlton/patches/20-polyml.patch
new file mode 100644
index 0000000000000..62ad34c342875
--- /dev/null
+++ b/srcpkgs/mlton/patches/20-polyml.patch
@@ -0,0 +1,48 @@
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -187,31 +208,31 @@ smlnj-mlton: mlton-smlnj.cm control/version.sml $(FRONT_END_SOURCES)
+ # MLton.
+ #
+ POLYML := poly
++CAT := cat
+ 
+ .PHONY: polyml-mlton
+-polyml-mlton: mlton-polyml.use $(shell [ -e mlton-polyml.use ] && cat mlton-polyml.use | $(SED) 's/use "\(.*\)";/\1/') control/version.sml $(FRONT_END_SOURCES)
+-	(									\
+-		echo 'use "mlton-polyml.use";';					\
+-		echo 'PolyML.export("$(MLTON_OUTPUT)-polyml", Main.mainWrapped);'; \
+-	) | "$(POLYML)"
+-	$(CC) -o $(MLTON_OUTPUT)-polyml $(MLTON_OUTPUT)-polyml.o -lpolymain -lpolyml
+-	$(RM) $(MLTON_OUTPUT)-polyml.o
++polyml-mlton: $(MLTON_OUTPUT)-polyml
++
++$(MLTON_OUTPUT)-polyml: mlton-polyml.sml $(shell [ -e mlton-polyml.sml ] && $(CAT) mlton-polyml.sml | $(GREP) 'use ".*";' | $(SED) 's/use "\(.*\)";/\1/') control/version.sml $(FRONT_END_SOURCES)
++	polyc -o $@ mlton-polyml.sml
+ 
+-mlton-polyml.use: ../lib/stubs/basis-stubs-for-polyml/sources.use ../lib/stubs/mlton-stubs-for-polyml/sources.use $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
++mlton-polyml.sml: ../lib/stubs/basis-stubs-for-polyml/sources.use ../lib/stubs/mlton-stubs-for-polyml/sources.use $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
++	chmod +x $(SRC)/bin/mlbdeps
+ 	(									\
+-		cat ../lib/stubs/basis-stubs-for-polyml/sources.use |		\
++		$(CAT) ../lib/stubs/basis-stubs-for-polyml/sources.use |		\
+ 			$(SED) 's|use "\(.*\)";|../lib/stubs/basis-stubs-for-polyml/\1|'; \
+-		"$(RUN_MLTON)" -stop f mlton.mlb | $(GREP) -v 'mlb$$' | $(GREP) 'mlyacc'; \
+-		cat ../lib/stubs/mlton-stubs-for-polyml/sources.use |		\
++		$(SRC)/bin/mlbdeps mlton.mlb | $(GREP) -v 'mlb$$' | $(GREP) 'mlyacc'; \
++		$(CAT) ../lib/stubs/mlton-stubs-for-polyml/sources.use |		\
+ 			$(SED) 's|use "\(.*\)";|../lib/stubs/mlton-stubs-for-polyml/\1|'; \
+-		"$(RUN_MLTON)" -stop f ../lib/stubs/mlton-stubs/sources.mlb |	\
++		$(SRC)/bin/mlbdeps ../lib/stubs/mlton-stubs/sources.mlb |	\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlton-stubs';					\
+-		"$(RUN_MLTON)" -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |				\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) -v 'sml/basis' |				\
+ 			$(GREP) -v 'targets' |					\
+ 			$(GREP) -v 'mlton-stubs' |				\
+ 			$(GREP) -v 'mlyacc' |					\
+ 			$(GREP) -v 'call-main.sml';				\
+-	) | $(SED) 's|\(.*\)|use "\1";|' > mlton-polyml.use
++	) | $(SED) 's|\(.*\)|use "\1";|' > $@
++	echo "val main = Main.mainWrapped;" >> $@
diff --git a/srcpkgs/mlton/patches/30-mlbdeps.patch b/srcpkgs/mlton/patches/30-mlbdeps.patch
new file mode 100644
index 0000000000000..03a6ad7188d30
--- /dev/null
+++ b/srcpkgs/mlton/patches/30-mlbdeps.patch
@@ -0,0 +1,60 @@
+--- /dev/null
++++ b/bin/mlbdeps
+@@ -0,0 +1,57 @@
++#!/usr/bin/env bash
++
++set -e
++
++SED=${SED:-sed}
++
++name=$(basename "$0")
++
++function normalize_path () {
++    local path="$1"
++    local opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;^\./;;')"
++    done
++    local opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;/\./;/;')"
++    done
++    opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;[^/][^/]*/\.\./;;')"
++    done
++    path="$(echo "$path" | ${SED} -e 's;^\./;;')"
++    echo "$path"
++}
++
++declare -a seen
++
++function doit() {
++    local mlb="$1"
++    for s in "${seen[@]}"; do
++        if [ "$mlb" == "$s" ]; then
++            return 0
++        fi
++    done
++    seen+=("$mlb");
++    echo "$mlb"
++    if [ -e "$mlb" ]; then
++        local dir="$(dirname $mlb)"
++        for f in $(cat "$mlb" | ${SED} -n -e 's/^[ ]*\([^ ]*\.\(sml\|sig\|fun\|mlb\)\).*/\1/p'); do
++            case "$f" in
++                /*) ;;
++                \$\(*\)*) ;;
++                *) f="$(normalize_path "$dir"/"$f")" ;;
++            esac
++            case "$f" in
++                *.mlb) doit "$f";;
++                *) echo "$f";;
++            esac
++        done
++    fi
++}
++
++doit "$(normalize_path "$1")"
diff --git a/srcpkgs/mlton/patches/40-mlton.patch b/srcpkgs/mlton/patches/40-mlton.patch
new file mode 100644
index 0000000000000..0056419b29359
--- /dev/null
+++ b/srcpkgs/mlton/patches/40-mlton.patch
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -308,7 +308,7 @@ smlnj-mlton-x16:
+ bootstrap-polyml:
+ 	$(MAKE) polyml-mlton
+ 	$(RM) "$(BIN)/$(MLTON)"
+-	$(MAKE) BOOTSTRAP_MLTON=$(MLTON).polyml all
++	$(MAKE) OLD_MLTON="$(BIN)/$(MLTON).polyml" all
+ 	$(RM) "$(LIB)/$(MLTON)-polyml$(EXE)"
+ 	$(RM) "$(BIN)/$(MLTON).polyml"
+ 
+@@ -317,7 +317,7 @@ polyml-mlton:
+ 	$(MAKE) dirs
+ 	$(MAKE) runtime
+ 	$(MAKE) -C "$(SRC)/mlton" polyml-mlton
+-	$(CP) "$(SRC)/mlton/mlton-polyml$(EXE)" "$(LIB)/"
++	$(CP) "$(SRC)/mlton/$(MLTON_OUTPUT)-polyml$(EXE)" "$(LIB)/"
+ 	$(MAKE) script
+ 	$(MAKE) basis-no-check
+ 	$(MAKE) libraries-no-check
diff --git a/srcpkgs/mlton/patches/50-mlton-stubs.patch b/srcpkgs/mlton/patches/50-mlton-stubs.patch
new file mode 100644
index 0000000000000..2100195398282
--- /dev/null
+++ b/srcpkgs/mlton/patches/50-mlton-stubs.patch
@@ -0,0 +1,19 @@
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -136,13 +136,13 @@ mlton-stubs.mlb: $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/so
+ 		echo '$$(SML_LIB)/basis/sml-nj.mlb';				\
+ 		echo '$$(SML_LIB)/basis/mlton.mlb';				\
+ 		echo '$$(SML_LIB)/basis/basis.mlb';				\
+-		$(RUN_MLTON) -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |					\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlyacc';					\
+-		$(RUN_MLTON) -stop f ../lib/stubs/mlton-stubs/sources.mlb |	\
++		$(SRC)/bin/mlbdeps ../lib/stubs/mlton-stubs/sources.mlb |	\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlton-stubs';					\
+-		$(RUN_MLTON) -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |					\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) -v 'sml/basis' |				\
+ 			$(GREP) -v 'targets' |					\
diff --git a/srcpkgs/mlton/patches/60-clean-polyml.patch b/srcpkgs/mlton/patches/60-clean-polyml.patch
new file mode 100644
index 0000000000000..8cd33967efa31
--- /dev/null
+++ b/srcpkgs/mlton/patches/60-clean-polyml.patch
@@ -0,0 +1,10 @@
+--- a/Makefile
++++ b/Makefile
+@@ -310,6 +310,7 @@ bootstrap-polyml:
+ 	$(RM) "$(BIN)/$(MLTON)"
+ 	$(MAKE) OLD_MLTON="$(BIN)/$(MLTON).polyml" all
+ 	$(RM) "$(LIB)/$(MLTON)-polyml$(EXE)"
++	$(RM) "$(LIB)/$(MLTON_OUTPUT)-polyml$(EXE)"
+ 	$(RM) "$(BIN)/$(MLTON).polyml"
+ 
+ .PHONY: polyml-mlton
diff --git a/srcpkgs/mlton/template b/srcpkgs/mlton/template
new file mode 100644
index 0000000000000..fa26e5fbc37c8
--- /dev/null
+++ b/srcpkgs/mlton/template
@@ -0,0 +1,16 @@
+# Template file for 'mlton'
+pkgname=mlton
+version=20210117
+revision=1
+build_style=gnu-makefile
+make_build_target=bootstrap-polyml
+hostmakedepends="polyml tar"
+makedepends="gmp-devel"
+depends="bash gcc gmp-devel"
+short_desc="MLton Standard ML (SML) compiler"
+maintainer="ii8 <murray.calavera@protonmail.com>"
+license="HPND"
+homepage="http://mlton.org/"
+distfiles="https://github.com/MLton/mlton/releases/download/on-${version}-release/mlton-${version}.src.tgz"
+checksum=ec7a5a54deb39c7c0fa746d17767752154e9cb94dbcf3d15b795083b3f0f154b
+nocross=yes

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
@ 2023-10-28 20:36 ` ii8
  2023-10-29  8:04 ` Bnyro
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-10-28 20:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 630 bytes --]

There is an updated pull request by ii8 against master on the void-packages repository

https://github.com/ii8/void-packages mlton
https://github.com/void-linux/void-packages/pull/46951

New package: mlton-20210117

- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-musl


A patch file from https://github.com/void-linux/void-packages/pull/46951.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mlton-46951.patch --]
[-- Type: text/x-diff, Size: 1253943 bytes --]

From 859cbf8aea1e39602cbd2f770edacfb8d8854423 Mon Sep 17 00:00:00 2001
From: murray <murray.calavera@protonmail.com>
Date: Sat, 28 Oct 2023 19:27:11 +0100
Subject: [PATCH] New package: mlton-20210117

---
 srcpkgs/mlton/patches/10-mllex.patch        | 21545 ++++++++++++++++++
 srcpkgs/mlton/patches/20-polyml.patch       |    48 +
 srcpkgs/mlton/patches/30-mlbdeps.patch      |    60 +
 srcpkgs/mlton/patches/40-mlton.patch        |    20 +
 srcpkgs/mlton/patches/50-mlton-stubs.patch  |    19 +
 srcpkgs/mlton/patches/60-clean-polyml.patch |    10 +
 srcpkgs/mlton/template                      |    20 +
 7 files changed, 21722 insertions(+)
 create mode 100644 srcpkgs/mlton/patches/10-mllex.patch
 create mode 100644 srcpkgs/mlton/patches/20-polyml.patch
 create mode 100644 srcpkgs/mlton/patches/30-mlbdeps.patch
 create mode 100644 srcpkgs/mlton/patches/40-mlton.patch
 create mode 100644 srcpkgs/mlton/patches/50-mlton-stubs.patch
 create mode 100644 srcpkgs/mlton/patches/60-clean-polyml.patch
 create mode 100644 srcpkgs/mlton/template

diff --git a/srcpkgs/mlton/patches/10-mllex.patch b/srcpkgs/mlton/patches/10-mllex.patch
new file mode 100644
index 0000000000000..a5a9611cff139
--- /dev/null
+++ b/srcpkgs/mlton/patches/10-mllex.patch
@@ -0,0 +1,21545 @@
+commit f074a9a41b5338303271cd50f17078595fef35ff
+Author: Matthew Fluet <matthew.fluet@gmail.com>
+Date:   Thu Dec 23 17:15:16 2021 -0500
+
+    Include generated `mllex` and `mlyacc` files for bootstrapping
+    
+    If there is no available `mllex` or `mlyacc` (e.g., when bootstrapping
+    with another SML compiler), use the saved bootstrap files.
+    
+    This also slightly simplifies the `remote-bootstrap` target, since
+    only the compiler proper (and not the tools) needs to be made on the
+    remote system for the initial boot files.
+
+diff --git a/Makefile b/Makefile
+index e72cc3ea3..5d715afe6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,11 +16,11 @@ include $(ROOT)/Makefile.config
+ all:
+ 	$(MAKE) dirs
+ 	$(MAKE) runtime
+-	$(MAKE) compiler CHECK_FIXPOINT=false                     # tools0 + mlton0 -> mlton1
++	$(MAKE) compiler CHECK_FIXPOINT=false                     # mlton0 -> mlton1
+ 	$(MAKE) script
+ 	$(MAKE) basis
+ 	$(MAKE) libraries
+-	$(MAKE) tools    CHECK_FIXPOINT=false                     # tools0 + mlton1 -> tools1
++	$(MAKE) tools    CHECK_FIXPOINT=false                     # mlton1 -> tools1
+ ifeq (2, $(firstword $(sort $(BOOTSTRAP_STYLE) 2)))
+ 	$(MAKE) compiler-clean
+ 	$(MAKE) compiler SELF_COMPILE=true  CHECK_FIXPOINT=false  # tools1 + mlton1 -> mlton2
+@@ -581,8 +581,6 @@ remote-bootstrap:
+ 	$(MAKE) remote--make-script
+ 	$(MAKE) remote--make-basis
+ 	$(MAKE) remote--make-libraries
+-	$(MAKE) remote--send-mlyacc-yacc-files
+-	$(MAKE) remote--make-tools
+ 	$(MAKE) remote--recv-boot-files
+ 	$(MAKE) remote--make-clean
+ 	$(MAKE) remote--send-boot-files
+@@ -609,12 +607,6 @@ remote--send-src:
+ 	$(SSH) $(REMOTE_MACHINE) "$(REMOTE_RM) $(REMOTE_ROOT) && $(REMOTE_MKDIR) $(REMOTE_ROOT)"
+ 	$(GIT) archive --format=tar HEAD | $(SSH) $(REMOTE_MACHINE) "cd $(REMOTE_ROOT) && $(REMOTE_TAR) xf -"
+ 
+-.PHONY: remote--send-mlyacc-yacc-files
+-remote--send-mlyacc-yacc-files:
+-	$(MAKE) -C mlyacc src/yacc.lex.sml src/yacc.grm.sig src/yacc.grm.sml
+-	$(TAR) cf - mlyacc/src/yacc.lex.* mlyacc/src/yacc.grm.* | $(SSH) $(REMOTE_MACHINE) "cd $(REMOTE_ROOT) && $(REMOTE_TAR) xf -"
+-	$(SSH) $(REMOTE_MACHINE) "cd $(REMOTE_ROOT) && touch mlyacc/src/yacc.lex.* mlyacc/src/yacc.grm.*"
+-
+ .PHONY: remote--recv-runtime
+ remote--recv-runtime:
+ 	$(RM) "$(LIB)/targets/$(REMOTE_TARGET)" && $(MKDIR) "$(LIB)/targets/$(REMOTE_TARGET)"
+@@ -665,7 +657,6 @@ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,script))
+ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,basis))
+ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,libraries))
+ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,check))
+-$(eval $(call MK_REMOTE_MAKE_TEMPLATE,tools))
+ all_REMOTE_XMAKEFLAGS := OLD_MLTON_DIR=$(REMOTE_ROOT)/boot/bin
+ $(eval $(call MK_REMOTE_MAKE_TEMPLATE,all))
+ binary-release_REMOTE_XMAKEFLAGS := MLTON_BINARY_RELEASE_WITH_DOCS=false
+diff --git a/Makefile.config b/Makefile.config
+index 57cf92aa9..1307c55aa 100644
+--- a/Makefile.config
++++ b/Makefile.config
+@@ -40,14 +40,10 @@ MLTON_COMPILE_ARGS :=
+ OLD_MLTON := mlton
+ OLD_MLTON_RUNTIME_ARGS :=
+ OLD_MLTON_COMPILE_ARGS :=
+-OLD_MLLEX := mllex
+-OLD_MLYACC := mlyacc
+ 
+ OLD_MLTON_DIR :=
+ ifneq (,$(OLD_MLTON_DIR))
+ OLD_MLTON := $(OLD_MLTON_DIR)/$(OLD_MLTON)
+-OLD_MLLEX := $(OLD_MLTON_DIR)/$(OLD_MLLEX)
+-OLD_MLYACC := $(OLD_MLTON_DIR)/$(OLD_MLYACC)
+ endif
+ 
+ # Specify standard tools.
+@@ -180,20 +176,14 @@ RUN_MLTON_RUNTIME_ARGS := $(MLTON_RUNTIME_ARGS)
+ RUN_MLTON_COMPILE_ARGS := $(MLTON_COMPILE_ARGS)
+ ifeq (true, $(shell [ -x "$(BIN)/mllex" ] && echo true))
+ RUN_MLLEX := $(BIN)/mllex
+-else
+-RUN_MLLEX := $(OLD_MLLEX)
+ endif
+ ifeq (true, $(shell [ -x "$(BIN)/mlyacc" ] && echo true))
+ RUN_MLYACC := $(BIN)/mlyacc
+-else
+-RUN_MLYACC := $(OLD_MLYACC)
+ endif
+ else
+ RUN_MLTON := $(OLD_MLTON)
+ RUN_MLTON_RUNTIME_ARGS := $(OLD_MLTON_RUNTIME_ARGS)
+ RUN_MLTON_COMPILE_ARGS := $(OLD_MLTON_COMPILE_ARGS)
+-RUN_MLLEX := $(OLD_MLLEX)
+-RUN_MLYACC := $(OLD_MLYACC)
+ endif
+ 
+ ifeq (0, $(MAKELEVEL))
+@@ -203,8 +193,6 @@ $$(warning '$(1)' command not found: $$($(2)))
+ endif
+ endef
+ $(eval $(call CHECK_MLCMD,mlton,RUN_MLTON))
+-$(eval $(call CHECK_MLCMD,mllex,RUN_MLLEX))
+-$(eval $(call CHECK_MLCMD,mlyacc,RUN_MLYACC))
+ endif
+ 
+ ifeq (true,$(call HAVE_CMD,$(RUN_MLTON)))
+diff --git a/mlton/Makefile b/mlton/Makefile
+index 1f14add25..d2915417f 100644
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -89,6 +89,7 @@ control/version.sml: control/version_sml.src
+ 	($(CAT) control/version_sml.src; echo '$(MLTON_NAME)' '$(MLTON_VERSION)'; $(CAT) control/version.sml) | $(SHA1DGST) > control/version_sml.chk
+ endif
+ 
++ifeq (true,$(call HAVE_CMD,$(RUN_MLLEX)))
+ front-end/%.lex.sml: front-end/%.lex
+ 	$(RM) $<.*
+ 	$(RUN_MLLEX) $<
+@@ -98,7 +99,15 @@ front-end/%.lex.sml: front-end/%.lex
+ 	$(SED) -e 's/in Vector.fromList(List.map g/in Vector.fromList(Pervasive.List.map g/' $<.sml.in > $<.sml
+ 	$(RM) $<.sml.in
+ 	$(CHMOD) -w $<.*
++	$(CP) $<.sml $<.sml.boot
++else
++front-end/%.lex.sml: front-end/%.lex.sml.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++endif
+ 
++ifeq (true,$(call HAVE_CMD,$(RUN_MLYACC)))
+ front-end/%.grm.sig front-end/%.grm.sml: front-end/%.grm
+ 	$(RM) $<.*
+ 	$(RUN_MLYACC) $<
+@@ -108,6 +117,18 @@ front-end/%.grm.sig front-end/%.grm.sml: front-end/%.grm
+ 	$(SED) -e 's/in Array.fromList(List.map actionRowLookUp actionRowNumbers)/in Array.fromList(Pervasive.List.map actionRowLookUp actionRowNumbers)/' $<.sml.in > $<.sml
+ 	$(RM) $<.sml.in
+ 	$(CHMOD) -w $<.*
++	$(CP) $<.sig $<.sig.boot
++	$(CP) $<.sml $<.sml.boot
++else
++front-end/%.grm.sig: front-end/%.grm.sig.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++front-end/%.grm.sml: front-end/%.grm.sml.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++endif
+ 
+ mlton-stubs.mlb: $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
+ 	(									\
+diff --git a/mlton/front-end/ml.grm.sig.boot b/mlton/front-end/ml.grm.sig.boot
+new file mode 100644
+index 000000000..1a23f4018
+--- /dev/null
++++ b/mlton/front-end/ml.grm.sig.boot
+@@ -0,0 +1,93 @@
++signature ML_TOKENS =
++sig
++type ('a,'b) token
++type svalue
++val SHOW_BASIS: (File.t) *  'a * 'a -> (svalue,'a) token
++val PRIM:  'a * 'a -> (svalue,'a) token
++val SYMBOL:  'a * 'a -> (svalue,'a) token
++val IMPORT:  'a * 'a -> (svalue,'a) token
++val EXPORT:  'a * 'a -> (svalue,'a) token
++val ADDRESS:  'a * 'a -> (svalue,'a) token
++val CONST:  'a * 'a -> (svalue,'a) token
++val COMMAND_LINE_CONST:  'a * 'a -> (svalue,'a) token
++val BUILD_CONST:  'a * 'a -> (svalue,'a) token
++val WITHTYPE:  'a * 'a -> (svalue,'a) token
++val WITH:  'a * 'a -> (svalue,'a) token
++val WILD:  'a * 'a -> (svalue,'a) token
++val WHILE:  'a * 'a -> (svalue,'a) token
++val WHERE:  'a * 'a -> (svalue,'a) token
++val VAL:  'a * 'a -> (svalue,'a) token
++val TYPE:  'a * 'a -> (svalue,'a) token
++val THEN:  'a * 'a -> (svalue,'a) token
++val STRUCTURE:  'a * 'a -> (svalue,'a) token
++val STRUCT:  'a * 'a -> (svalue,'a) token
++val SIGNATURE:  'a * 'a -> (svalue,'a) token
++val SIG:  'a * 'a -> (svalue,'a) token
++val SHARING:  'a * 'a -> (svalue,'a) token
++val SEMICOLON:  'a * 'a -> (svalue,'a) token
++val RPAREN:  'a * 'a -> (svalue,'a) token
++val REC:  'a * 'a -> (svalue,'a) token
++val RBRACKET:  'a * 'a -> (svalue,'a) token
++val RBRACE:  'a * 'a -> (svalue,'a) token
++val RAISE:  'a * 'a -> (svalue,'a) token
++val OVERLOAD:  'a * 'a -> (svalue,'a) token
++val OPEN:  'a * 'a -> (svalue,'a) token
++val OP:  'a * 'a -> (svalue,'a) token
++val OF:  'a * 'a -> (svalue,'a) token
++val ORELSE:  'a * 'a -> (svalue,'a) token
++val NONFIX:  'a * 'a -> (svalue,'a) token
++val LPAREN:  'a * 'a -> (svalue,'a) token
++val LOCAL:  'a * 'a -> (svalue,'a) token
++val LET:  'a * 'a -> (svalue,'a) token
++val LBRACKET:  'a * 'a -> (svalue,'a) token
++val LBRACE:  'a * 'a -> (svalue,'a) token
++val INFIXR:  'a * 'a -> (svalue,'a) token
++val INFIX:  'a * 'a -> (svalue,'a) token
++val INCLUDE:  'a * 'a -> (svalue,'a) token
++val IN:  'a * 'a -> (svalue,'a) token
++val IF:  'a * 'a -> (svalue,'a) token
++val HASHLBRACKET:  'a * 'a -> (svalue,'a) token
++val HASH:  'a * 'a -> (svalue,'a) token
++val HANDLE:  'a * 'a -> (svalue,'a) token
++val FUNCTOR:  'a * 'a -> (svalue,'a) token
++val FUN:  'a * 'a -> (svalue,'a) token
++val FN:  'a * 'a -> (svalue,'a) token
++val DARROW:  'a * 'a -> (svalue,'a) token
++val DO:  'a * 'a -> (svalue,'a) token
++val EXCEPTION:  'a * 'a -> (svalue,'a) token
++val EQTYPE:  'a * 'a -> (svalue,'a) token
++val EQUALOP:  'a * 'a -> (svalue,'a) token
++val EOF:  'a * 'a -> (svalue,'a) token
++val END:  'a * 'a -> (svalue,'a) token
++val ELSE:  'a * 'a -> (svalue,'a) token
++val DOTDOTDOT:  'a * 'a -> (svalue,'a) token
++val DATATYPE:  'a * 'a -> (svalue,'a) token
++val COMMA:  'a * 'a -> (svalue,'a) token
++val COLONGT:  'a * 'a -> (svalue,'a) token
++val COLON:  'a * 'a -> (svalue,'a) token
++val CASE:  'a * 'a -> (svalue,'a) token
++val BAR:  'a * 'a -> (svalue,'a) token
++val ASTERISK:  'a * 'a -> (svalue,'a) token
++val AS:  'a * 'a -> (svalue,'a) token
++val ARROW:  'a * 'a -> (svalue,'a) token
++val ANDALSO:  'a * 'a -> (svalue,'a) token
++val AND:  'a * 'a -> (svalue,'a) token
++val ABSTYPE:  'a * 'a -> (svalue,'a) token
++val WORD: ({ digits:string,radix:StringCvt.radix } ) *  'a * 'a -> (svalue,'a) token
++val TYVAR: (string) *  'a * 'a -> (svalue,'a) token
++val STRING: (IntInf.t vector) *  'a * 'a -> (svalue,'a) token
++val REAL: (string) *  'a * 'a -> (svalue,'a) token
++val LONGSYMID: (string) *  'a * 'a -> (svalue,'a) token
++val LONGALPHANUMID: (string) *  'a * 'a -> (svalue,'a) token
++val SHORTSYMID: (string) *  'a * 'a -> (svalue,'a) token
++val SHORTALPHANUMID: (string) *  'a * 'a -> (svalue,'a) token
++val INT: ({ digits:string,extended:bool,negate:bool,radix:StringCvt.radix } ) *  'a * 'a -> (svalue,'a) token
++val CHAR: (IntInf.t) *  'a * 'a -> (svalue,'a) token
++end
++signature ML_LRVALS=
++sig
++structure Tokens : ML_TOKENS
++structure ParserData:PARSER_DATA
++sharing type ParserData.Token.token = Tokens.token
++sharing type ParserData.svalue = Tokens.svalue
++end
+diff --git a/mlton/front-end/ml.grm.sml.boot b/mlton/front-end/ml.grm.sml.boot
+new file mode 100644
+index 000000000..eba36cad4
+--- /dev/null
++++ b/mlton/front-end/ml.grm.sml.boot
+@@ -0,0 +1,4834 @@
++functor MLLrValsFun (structure Token: TOKEN
++                              structure Ast: AST) = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(*#line 1.2 "ml.grm"*)(* Heavily modified from SML/NJ sources. *)
++
++(* ml.grm
++ *
++ * Copyright 1989,1992 by AT&T Bell Laboratories
++ *
++ * SML/NJ is released under a HPND-style license.
++ * See the file NJ-LICENSE for details.
++ *)
++
++(* Copyright (C) 2008,2009,2014-2017,2019 Matthew Fluet.
++ * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
++ *    Jagannathan, and Stephen Weeks.
++ * Copyright (C) 1997-2000 NEC Research Institute.
++ *
++ * MLton is released under a HPND-style license.
++ * See the file MLton-LICENSE for details.
++ *)
++
++fun reg (left, right) = Region.make {left = left, right = right}
++fun error (reg, msg) = Control.error (reg, Layout.str msg, Layout.empty)
++
++local
++   open Control.Elaborate
++in
++   val allowOptBar = fn () => current allowOptBar
++   val allowOptSemicolon = fn () => current allowOptSemicolon
++   val allowRecordPunExps = fn () => current allowRecordPunExps
++end
++
++open Ast
++structure Field = Record.Field
++structure Srecord = SortedRecord
++
++structure Type =
++   struct
++      open Type
++
++      fun tuple ts =
++         Record (Record.tuple (Vector.map (ts, fn t => (Region.bogus, t))))
++
++      val unit = tuple (Vector.new0 ())
++
++      fun arrow (t1, t2) = Con (Longtycon.arrow, Vector.new2 (t1, t2))
++   end
++
++structure DatBind =
++   struct
++      open DatBind
++
++      fun make (dbs, withtypes, left, right) =
++         makeRegion' (T {datatypes = dbs, withtypes = withtypes},
++                      left, right)
++   end
++
++structure Pat =
++   struct
++      open Pat
++
++      fun tuple ps =
++         if 1 = Vector.length ps
++            then Paren (Vector.sub (ps, 0))
++         else Tuple ps
++
++      val unit = tuple (Vector.new0 ())
++
++      val bogus = unit
++
++      fun makeAs (p1: t, p2: t): node =
++         let
++            fun err () =
++               error (Pat.region p1, "must have variable to left in as pattern")
++            fun fixopVar (p : t) =
++               case node p of
++                  FlatApp ps =>
++                     if 1 = Vector.length ps
++                        then (case node (Vector.sub (ps, 0)) of
++                                 Var {fixop,name} =>
++                                    (case Longvid.split name of
++                                        ([], vid) =>
++                                           SOME (fixop, Vid.toVar vid)
++                                      | _ =>
++                                           let
++                                              val () = err ()
++                                           in
++                                              SOME (Fixop.None, Var.bogus)
++                                           end)
++                               | _ => NONE)
++                     else NONE
++                | _ => NONE
++         in
++            case fixopVar p1 of
++               SOME (fixop, var) =>
++                  Layered {fixop = fixop, var = var,
++                           constraint = NONE,
++                           pat = p2}
++             | NONE =>
++                  case node p1 of
++                     Pat.Constraint (p, t) =>
++                        (case fixopVar p of
++                            SOME (fixop, var) =>
++                               Layered {fixop = fixop, var = var,
++                                        constraint = SOME t,
++                                        pat = p2}
++                          | _ => (err (); bogus))
++                   | _ => (err (); bogus)
++         end
++   end
++
++structure Exp =
++   struct
++      open Exp
++
++      fun tuple es =
++         if 1 = Vector.length es
++            then Paren (Vector.sub (es, 0))
++         else Record (Record.tuple (Vector.map (es, fn e => (Region.bogus, e))))
++
++      val unit = tuple (Vector.new0 ())
++   end
++
++structure Dec =
++   struct
++      open Dec
++
++      fun sequence (d1: t, d2: t): t =
++         makeRegion (case (node d1, node d2) of
++                        (SeqDec d1, SeqDec d2) => SeqDec (Vector.concat [d1, d2])
++                      | (SeqDec d1, _) =>
++                           SeqDec (Vector.concat [d1, Vector.new1 d2])
++                      | (_, SeqDec d2) =>
++                           SeqDec (Vector.concat [Vector.new1 d1, d2])
++                      | _ => SeqDec (Vector.new2 (d1, d2)),
++                     Region.append (region d1, region d2))
++   end
++
++structure Spec =
++   struct
++      open Spec
++
++      (* Some of this mess is so that a sharing equation captures as
++       * many specs as possible in its scope.
++       *)
++      fun seq (s: t, s': t): t =
++         let
++            fun reg s'' = makeRegion (s'', Region.append (region s, region s'))
++         in
++            case (node s, node s') of
++               (Empty, _) => s'
++             | (_, Empty) => s
++             | (_, Seq (s1, s2)) => reg (Seq (seq (s, s1), s2))
++             | (_, Sharing {spec, equation}) =>
++                  reg (Sharing {spec = seq (s, spec), equation = equation})
++             | _ => reg (Seq (s, s'))
++         end
++   end
++
++fun consTopdec (d, dss) =
++   case dss of
++      [] => [[d]]
++    | ds :: dss => (d :: ds) :: dss
++
++type rule = Pat.t * Exp.t
++type clause = {pats : Pat.t vector,
++               resultType : Type.t option,
++               body : Exp.t}
++type clauses = clause vector
++type eb = Con.t * EbRhs.t
++type db = {tyvars: Tyvar.t vector,
++           tycon: Tycon.t,
++           cons: (Con.t * Type.t option) vector}
++type tb = {def: Type.t,
++           tycon: Tycon.t,
++           tyvars: Tyvar.t vector}
++
++type strdesc = Strid.t * Sigexp.t
++
++type typdesc =  {tyvars: Tyvar.t vector,
++                 tycon: Tycon.t}
++
++type valdesc = Var.t * Type.t
++
++type exndesc = Con.t * Type.t option
++
++type strbind = {name: Strid.t,
++                def: Strexp.t,
++                constraint: SigConst.t}
++
++type sigbind = Sigid.t * Sigexp.t
++
++type funbind = {name : Fctid.t,
++                arg : FctArg.t,
++                result : SigConst.t,
++                body : Strexp.t}
++
++type vb = {pat: Pat.t,
++           exp: Exp.t}
++
++type rvb = {pat: Pat.t,
++            match: Match.t}
++
++fun longIdFromTok (s, left, right) =
++   let
++      val syms = List.map (String.split (s, #"."), Symbol.fromString)
++   in
++      (syms, reg (left, right))
++   end
++
++fun shortIdFromTok (s, left, right) =
++   (Symbol.fromString s, reg (left, right))
++
++fun longIdFromShortId (sym, reg) = ([sym], reg)
++
++fun cons1 (x, (l, y)) = (x :: l, y)
++
++fun augment (id, sigexp, (whereeqns, binds)) =
++   (id, Sigexp.wheree (sigexp, Vector.fromList whereeqns))
++   :: binds
++
++fun 'a augment1 ((strexp: Strexp.t,
++                  sigconst: Sigexp.t -> SigConst.t,
++                  sigexp: Sigexp.t),
++                 (whereeqns: WhereEquation.t list,
++                  z: 'a)): Strexp.t * 'a =
++   let
++      val sigexp = Sigexp.wheree (sigexp, Vector.fromList whereeqns)
++   in
++      (Strexp.makeRegion
++       (Strexp.Constrained (strexp, sigconst sigexp),
++        Region.append (Strexp.region strexp, Sigexp.region sigexp)),
++       z)
++   end
++
++type 'a whereAndEqns = WhereEquation.t list * 'a list
++
++  
++(*#line 244.1 "ml.grm.sml"*)
++end
++structure LrTable = Token.LrTable
++structure Token = Token
++local open LrTable in 
++val table=let val actionRows =
++"\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\009\000\120\000\010\000\068\000\016\000\066\000\017\000\188\000\
++\\037\000\119\000\043\000\118\000\044\000\117\000\047\000\116\000\
++\\051\000\115\000\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\009\000\120\000\010\000\068\000\016\000\066\000\037\000\119\000\
++\\043\000\118\000\044\000\117\000\047\000\116\000\051\000\115\000\
++\\057\000\114\000\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\017\000\188\000\037\000\119\000\
++\\043\000\118\000\044\000\117\000\047\000\242\000\051\000\115\000\
++\\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\056\000\160\000\069\000\037\000\
++\\073\000\036\000\074\000\035\000\075\000\034\000\076\000\033\000\
++\\077\000\032\000\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\056\000\175\000\069\000\037\000\
++\\073\000\036\000\074\000\035\000\075\000\034\000\076\000\033\000\
++\\077\000\032\000\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\058\000\147\000\069\000\037\000\
++\\073\000\036\000\074\000\035\000\075\000\034\000\076\000\033\000\
++\\077\000\032\000\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\069\000\037\000\073\000\036\000\
++\\074\000\035\000\075\000\034\000\076\000\033\000\077\000\032\000\
++\\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\057\000\114\000\
++\\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\057\000\250\000\
++\\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\070\000\113\000\000\000\
++\\001\000\001\000\076\000\002\000\075\000\003\000\074\000\007\000\070\000\
++\\008\000\069\000\010\000\068\000\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\169\000\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\169\000\
++\\055\000\168\000\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\169\000\
++\\055\000\070\001\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\009\001\
++\\023\000\008\001\027\000\063\000\000\000\
++\\001\000\002\000\170\000\003\000\074\000\004\000\073\000\016\000\009\001\
++\\023\000\008\001\027\000\063\000\055\000\007\001\000\000\
++\\001\000\003\000\155\003\004\000\155\003\005\000\155\003\011\000\154\003\
++\\012\000\154\003\013\000\154\003\014\000\154\003\015\000\154\003\
++\\016\000\155\003\017\000\154\003\019\000\154\003\020\000\154\003\
++\\021\000\154\003\022\000\154\003\024\000\154\003\025\000\154\003\
++\\026\000\154\003\027\000\154\003\028\000\154\003\029\000\154\003\
++\\030\000\154\003\031\000\154\003\033\000\154\003\034\000\154\003\
++\\035\000\154\003\039\000\154\003\040\000\154\003\041\000\154\003\
++\\042\000\154\003\046\000\154\003\048\000\154\003\049\000\154\003\
++\\050\000\154\003\052\000\154\003\053\000\154\003\055\000\154\003\
++\\056\000\154\003\058\000\154\003\059\000\154\003\060\000\154\003\
++\\062\000\154\003\064\000\154\003\065\000\154\003\066\000\154\003\
++\\067\000\154\003\068\000\154\003\071\000\154\003\072\000\154\003\
++\\081\000\154\003\000\000\
++\\001\000\003\000\074\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\006\000\071\000\
++\\016\000\066\000\027\000\063\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\006\000\071\000\
++\\016\000\066\000\027\000\063\000\051\000\148\001\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\009\000\120\000\
++\\043\000\226\000\047\000\225\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\005\000\072\000\016\000\063\001\000\000\
++\\001\000\003\000\074\000\004\000\073\000\016\000\066\000\027\000\063\000\000\000\
++\\001\000\003\000\074\000\004\000\073\000\016\000\066\000\027\000\063\000\
++\\051\000\198\000\000\000\
++\\001\000\003\000\074\000\005\000\072\000\000\000\
++\\001\000\003\000\074\000\005\000\072\000\045\000\196\001\063\000\195\001\000\000\
++\\001\000\003\000\074\000\005\000\072\000\066\000\223\001\000\000\
++\\001\000\003\000\074\000\061\000\109\001\000\000\
++\\001\000\003\000\074\000\066\000\015\002\000\000\
++\\001\000\008\000\090\000\000\000\
++\\001\000\008\000\090\000\016\000\092\000\000\000\
++\\001\000\008\000\090\000\016\000\094\000\000\000\
++\\001\000\009\000\120\000\000\000\
++\\001\000\011\000\152\002\012\000\003\002\019\000\155\002\020\000\155\002\
++\\022\000\152\002\025\000\152\002\026\000\152\002\029\000\152\002\
++\\030\000\152\002\033\000\152\002\034\000\152\002\039\000\152\002\
++\\041\000\152\002\042\000\152\002\046\000\152\002\048\000\152\002\
++\\052\000\152\002\053\000\152\002\058\000\152\002\059\000\152\002\
++\\062\000\152\002\064\000\152\002\066\000\152\002\067\000\152\002\
++\\068\000\007\002\081\000\152\002\000\000\
++\\001\000\011\000\152\002\012\000\079\002\019\000\170\002\020\000\170\002\
++\\022\000\152\002\025\000\152\002\026\000\152\002\029\000\152\002\
++\\030\000\152\002\033\000\152\002\034\000\152\002\039\000\152\002\
++\\041\000\152\002\042\000\152\002\046\000\152\002\048\000\152\002\
++\\052\000\152\002\053\000\152\002\058\000\152\002\059\000\152\002\
++\\062\000\152\002\064\000\152\002\066\000\152\002\067\000\152\002\
++\\068\000\007\002\081\000\152\002\000\000\
++\\001\000\011\000\152\002\012\000\079\002\019\000\173\002\020\000\173\002\
++\\022\000\152\002\025\000\152\002\026\000\152\002\029\000\152\002\
++\\030\000\152\002\033\000\152\002\034\000\152\002\039\000\152\002\
++\\041\000\152\002\042\000\152\002\046\000\152\002\048\000\152\002\
++\\052\000\152\002\053\000\152\002\058\000\152\002\059\000\152\002\
++\\062\000\152\002\064\000\152\002\066\000\152\002\067\000\152\002\
++\\068\000\007\002\081\000\152\002\000\000\
++\\001\000\011\000\160\002\012\000\160\002\019\000\157\002\020\000\157\002\
++\\022\000\160\002\025\000\160\002\026\000\160\002\029\000\160\002\
++\\030\000\160\002\033\000\160\002\034\000\160\002\039\000\160\002\
++\\041\000\160\002\042\000\160\002\046\000\160\002\048\000\160\002\
++\\052\000\160\002\053\000\160\002\058\000\160\002\059\000\160\002\
++\\062\000\160\002\064\000\160\002\066\000\160\002\067\000\160\002\
++\\081\000\160\002\000\000\
++\\001\000\011\000\231\002\012\000\105\002\019\000\155\002\020\000\155\002\
++\\022\000\231\002\026\000\231\002\029\000\231\002\030\000\231\002\
++\\033\000\231\002\034\000\231\002\041\000\231\002\042\000\231\002\
++\\046\000\231\002\048\000\231\002\052\000\231\002\053\000\231\002\
++\\059\000\231\002\062\000\231\002\064\000\231\002\066\000\231\002\
++\\067\000\231\002\068\000\108\002\081\000\231\002\000\000\
++\\001\000\011\000\231\002\012\000\120\002\019\000\170\002\020\000\170\002\
++\\022\000\231\002\026\000\231\002\029\000\231\002\030\000\231\002\
++\\033\000\231\002\034\000\231\002\041\000\231\002\042\000\231\002\
++\\046\000\231\002\048\000\231\002\052\000\231\002\053\000\231\002\
++\\059\000\231\002\062\000\231\002\064\000\231\002\066\000\231\002\
++\\067\000\231\002\068\000\108\002\081\000\231\002\000\000\
++\\001\000\011\000\231\002\012\000\120\002\019\000\173\002\020\000\173\002\
++\\022\000\231\002\026\000\231\002\029\000\231\002\030\000\231\002\
++\\033\000\231\002\034\000\231\002\041\000\231\002\042\000\231\002\
++\\046\000\231\002\048\000\231\002\052\000\231\002\053\000\231\002\
++\\059\000\231\002\062\000\231\002\064\000\231\002\066\000\231\002\
++\\067\000\231\002\068\000\108\002\081\000\231\002\000\000\
++\\001\000\011\000\212\003\012\000\212\003\019\000\212\003\020\000\212\003\
++\\022\000\212\003\025\000\212\003\026\000\212\003\029\000\212\003\
++\\030\000\212\003\033\000\212\003\034\000\212\003\039\000\212\003\
++\\041\000\212\003\042\000\212\003\046\000\212\003\047\000\216\003\
++\\048\000\212\003\052\000\212\003\053\000\212\003\058\000\212\003\
++\\059\000\212\003\062\000\212\003\064\000\212\003\066\000\212\003\
++\\067\000\212\003\081\000\212\003\000\000\
++\\001\000\013\000\087\000\019\000\086\000\024\000\208\001\035\000\085\000\
++\\049\000\084\000\000\000\
++\\001\000\013\000\087\000\019\000\086\000\030\000\240\000\035\000\085\000\
++\\049\000\084\000\000\000\
++\\001\000\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\
++\\050\000\059\001\000\000\
++\\001\000\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\
++\\059\000\083\000\000\000\
++\\001\000\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\
++\\065\000\038\001\000\000\
++\\001\000\014\000\064\001\015\000\019\002\000\000\
++\\001\000\014\000\064\001\021\000\162\001\058\000\161\001\000\000\
++\\001\000\014\000\064\001\027\000\174\001\000\000\
++\\001\000\014\000\064\001\059\000\166\001\000\000\
++\\001\000\014\000\064\001\059\000\168\001\000\000\
++\\001\000\014\000\064\001\059\000\173\001\000\000\
++\\001\000\014\000\064\001\059\000\175\001\000\000\
++\\001\000\014\000\064\001\059\000\245\001\000\000\
++\\001\000\014\000\064\001\059\000\246\001\000\000\
++\\001\000\014\000\064\001\059\000\247\001\000\000\
++\\001\000\014\000\064\001\059\000\248\001\000\000\
++\\001\000\014\000\064\001\059\000\249\001\000\000\
++\\001\000\015\000\188\003\019\000\188\003\021\000\188\003\027\000\207\003\
++\\055\000\188\003\000\000\
++\\001\000\015\000\189\003\019\000\189\003\021\000\189\003\027\000\208\003\
++\\055\000\189\003\000\000\
++\\001\000\015\000\190\003\019\000\190\003\021\000\190\003\027\000\209\003\
++\\055\000\190\003\000\000\
++\\001\000\019\000\228\000\000\000\
++\\001\000\019\000\231\000\000\000\
++\\001\000\019\000\237\000\000\000\
++\\001\000\019\000\238\000\000\000\
++\\001\000\019\000\239\000\000\000\
++\\001\000\019\000\034\001\021\000\006\003\027\000\210\003\055\000\006\003\000\000\
++\\001\000\019\000\072\001\000\000\
++\\001\000\019\000\076\001\000\000\
++\\001\000\019\000\077\001\000\000\
++\\001\000\019\000\078\001\000\000\
++\\001\000\019\000\079\001\000\000\
++\\001\000\019\000\112\001\000\000\
++\\001\000\019\000\165\001\000\000\
++\\001\000\019\000\209\001\000\000\
++\\001\000\019\000\009\002\020\000\008\002\000\000\
++\\001\000\019\000\009\002\020\000\008\002\025\000\098\002\000\000\
++\\001\000\019\000\009\002\020\000\008\002\058\000\080\002\000\000\
++\\001\000\019\000\024\002\000\000\
++\\001\000\019\000\028\002\000\000\
++\\001\000\025\000\205\001\000\000\
++\\001\000\025\000\206\001\000\000\
++\\001\000\025\000\239\001\000\000\
++\\001\000\025\000\016\002\000\000\
++\\001\000\025\000\020\002\000\000\
++\\001\000\025\000\052\002\000\000\
++\\001\000\026\000\000\000\000\000\
++\\001\000\027\000\243\000\000\000\
++\\001\000\027\000\016\001\000\000\
++\\001\000\027\000\035\001\000\000\
++\\001\000\027\000\089\001\000\000\
++\\001\000\027\000\100\001\000\000\
++\\001\000\027\000\102\001\000\000\
++\\001\000\027\000\104\001\000\000\
++\\001\000\027\000\142\001\000\000\
++\\001\000\027\000\150\001\000\000\
++\\001\000\027\000\154\001\000\000\
++\\001\000\027\000\029\002\000\000\
++\\001\000\027\000\063\002\000\000\
++\\001\000\027\000\070\002\000\000\
++\\001\000\027\000\101\002\000\000\
++\\001\000\031\000\144\001\000\000\
++\\001\000\032\000\178\001\000\000\
++\\001\000\039\000\024\001\000\000\
++\\001\000\039\000\027\001\000\000\
++\\001\000\039\000\119\001\000\000\
++\\001\000\039\000\053\002\000\000\
++\\001\000\047\000\040\001\000\000\
++\\001\000\047\000\011\002\000\000\
++\\001\000\055\000\036\001\000\000\
++\\001\000\055\000\098\001\000\000\
++\\001\000\055\000\163\001\000\000\
++\\001\000\056\000\031\001\000\000\
++\\001\000\056\000\039\001\000\000\
++\\001\000\056\000\096\001\000\000\
++\\001\000\056\000\101\001\000\000\
++\\001\000\058\000\019\001\000\000\
++\\001\000\058\000\020\001\000\000\
++\\001\000\058\000\091\001\000\000\
++\\001\000\058\000\093\001\000\000\
++\\001\000\058\000\160\001\000\000\
++\\001\000\058\000\211\001\000\000\
++\\001\000\058\000\081\002\000\000\
++\\001\000\059\000\042\002\000\000\
++\\001\000\066\000\015\002\000\000\
++\\001\000\071\000\061\001\000\000\
++\\126\002\000\000\
++\\127\002\000\000\
++\\128\002\000\000\
++\\129\002\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\011\000\067\000\016\000\066\000\018\000\065\000\
++\\022\000\064\000\027\000\063\000\029\000\062\000\030\000\061\000\
++\\032\000\060\000\033\000\059\000\034\000\058\000\036\000\057\000\
++\\037\000\056\000\038\000\055\000\041\000\054\000\042\000\053\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\046\000\049\000\
++\\047\000\048\000\048\000\047\000\051\000\046\000\052\000\045\000\
++\\053\000\044\000\054\000\043\000\059\000\042\000\062\000\041\000\
++\\064\000\040\000\066\000\039\000\067\000\038\000\069\000\037\000\
++\\073\000\036\000\074\000\035\000\075\000\034\000\076\000\033\000\
++\\077\000\032\000\078\000\031\000\079\000\030\000\080\000\029\000\
++\\081\000\028\000\000\000\
++\\129\002\011\000\067\000\022\000\064\000\029\000\062\000\030\000\061\000\
++\\033\000\059\000\034\000\058\000\041\000\054\000\042\000\053\000\
++\\046\000\049\000\048\000\047\000\052\000\045\000\053\000\044\000\
++\\059\000\042\000\062\000\041\000\064\000\040\000\066\000\039\000\
++\\067\000\038\000\081\000\028\000\000\000\
++\\130\002\000\000\
++\\131\002\000\000\
++\\132\002\000\000\
++\\133\002\000\000\
++\\134\002\000\000\
++\\135\002\000\000\
++\\136\002\000\000\
++\\137\002\003\000\074\000\005\000\072\000\011\000\067\000\022\000\064\000\
++\\029\000\062\000\030\000\061\000\033\000\059\000\041\000\054\000\
++\\042\000\053\000\045\000\196\001\046\000\049\000\048\000\047\000\
++\\052\000\045\000\053\000\044\000\059\000\151\000\063\000\195\001\
++\\064\000\040\000\066\000\039\000\067\000\038\000\081\000\028\000\000\000\
++\\137\002\011\000\067\000\022\000\064\000\029\000\062\000\030\000\061\000\
++\\033\000\059\000\041\000\054\000\042\000\053\000\046\000\049\000\
++\\048\000\047\000\052\000\045\000\053\000\044\000\059\000\151\000\
++\\064\000\040\000\066\000\039\000\067\000\038\000\081\000\028\000\000\000\
++\\138\002\000\000\
++\\139\002\000\000\
++\\140\002\000\000\
++\\141\002\000\000\
++\\142\002\000\000\
++\\143\002\000\000\
++\\144\002\000\000\
++\\145\002\000\000\
++\\146\002\000\000\
++\\147\002\000\000\
++\\148\002\000\000\
++\\149\002\000\000\
++\\150\002\000\000\
++\\151\002\000\000\
++\\152\002\012\000\003\002\000\000\
++\\153\002\000\000\
++\\154\002\000\000\
++\\155\002\068\000\199\001\000\000\
++\\156\002\000\000\
++\\157\002\000\000\
++\\158\002\000\000\
++\\159\002\000\000\
++\\161\002\000\000\
++\\162\002\000\000\
++\\163\002\000\000\
++\\164\002\000\000\
++\\165\002\000\000\
++\\166\002\000\000\
++\\167\002\068\000\199\001\000\000\
++\\168\002\000\000\
++\\169\002\000\000\
++\\170\002\012\000\056\002\068\000\199\001\000\000\
++\\171\002\000\000\
++\\172\002\000\000\
++\\173\002\012\000\056\002\068\000\199\001\000\000\
++\\174\002\000\000\
++\\175\002\000\000\
++\\176\002\000\000\
++\\177\002\000\000\
++\\178\002\000\000\
++\\178\002\003\000\074\000\000\000\
++\\179\002\000\000\
++\\180\002\012\000\203\001\068\000\202\001\000\000\
++\\180\002\012\000\060\002\068\000\202\001\000\000\
++\\181\002\000\000\
++\\182\002\000\000\
++\\183\002\000\000\
++\\184\002\000\000\
++\\185\002\014\000\064\001\000\000\
++\\186\002\019\000\015\001\020\000\014\001\000\000\
++\\187\002\000\000\
++\\188\002\000\000\
++\\189\002\003\000\074\000\022\000\139\001\028\000\138\001\029\000\137\001\
++\\040\000\136\001\059\000\135\001\060\000\134\001\064\000\133\001\
++\\066\000\132\001\067\000\131\001\000\000\
++\\189\002\022\000\139\001\028\000\138\001\029\000\137\001\040\000\136\001\
++\\059\000\135\001\060\000\134\001\064\000\133\001\066\000\132\001\
++\\067\000\131\001\000\000\
++\\190\002\000\000\
++\\191\002\000\000\
++\\192\002\000\000\
++\\193\002\000\000\
++\\194\002\000\000\
++\\195\002\000\000\
++\\196\002\000\000\
++\\197\002\000\000\
++\\198\002\000\000\
++\\199\002\000\000\
++\\200\002\000\000\
++\\201\002\000\000\
++\\202\002\000\000\
++\\203\002\000\000\
++\\204\002\000\000\
++\\205\002\027\000\029\002\000\000\
++\\206\002\000\000\
++\\207\002\027\000\070\002\000\000\
++\\208\002\000\000\
++\\209\002\000\000\
++\\210\002\012\000\092\002\068\000\091\002\000\000\
++\\210\002\012\000\117\002\068\000\091\002\000\000\
++\\211\002\000\000\
++\\212\002\000\000\
++\\213\002\000\000\
++\\214\002\000\000\
++\\215\002\012\000\027\002\000\000\
++\\216\002\000\000\
++\\217\002\000\000\
++\\217\002\027\000\102\001\000\000\
++\\218\002\012\000\025\002\000\000\
++\\219\002\000\000\
++\\220\002\014\000\064\001\000\000\
++\\221\002\012\000\034\002\000\000\
++\\222\002\000\000\
++\\223\002\000\000\
++\\224\002\050\000\036\002\000\000\
++\\225\002\014\000\064\001\000\000\
++\\226\002\000\000\
++\\227\002\000\000\
++\\228\002\000\000\
++\\229\002\000\000\
++\\230\002\000\000\
++\\231\002\012\000\105\002\000\000\
++\\232\002\000\000\
++\\233\002\000\000\
++\\234\002\000\000\
++\\235\002\000\000\
++\\236\002\000\000\
++\\237\002\011\000\067\000\022\000\064\000\029\000\062\000\030\000\061\000\
++\\033\000\059\000\041\000\054\000\042\000\053\000\046\000\157\000\
++\\048\000\047\000\052\000\045\000\053\000\044\000\059\000\156\000\
++\\066\000\039\000\067\000\038\000\000\000\
++\\238\002\000\000\
++\\239\002\000\000\
++\\240\002\000\000\
++\\241\002\000\000\
++\\242\002\000\000\
++\\243\002\000\000\
++\\244\002\000\000\
++\\245\002\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\246\002\000\000\
++\\247\002\000\000\
++\\248\002\000\000\
++\\249\002\000\000\
++\\250\002\000\000\
++\\251\002\000\000\
++\\252\002\000\000\
++\\253\002\000\000\
++\\254\002\000\000\
++\\255\002\000\000\
++\\000\003\012\000\176\001\013\000\087\000\019\000\086\000\035\000\085\000\
++\\049\000\084\000\000\000\
++\\001\003\000\000\
++\\002\003\000\000\
++\\003\003\000\000\
++\\004\003\012\000\043\002\000\000\
++\\005\003\000\000\
++\\006\003\019\000\034\001\000\000\
++\\007\003\014\000\064\001\000\000\
++\\008\003\012\000\043\001\000\000\
++\\009\003\000\000\
++\\010\003\000\000\
++\\011\003\000\000\
++\\012\003\017\000\044\001\000\000\
++\\013\003\000\000\
++\\014\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\015\003\000\000\
++\\016\003\000\000\
++\\017\003\012\000\012\001\000\000\
++\\018\003\000\000\
++\\019\003\014\000\064\001\000\000\
++\\020\003\000\000\
++\\021\003\009\000\120\000\047\000\127\000\000\000\
++\\022\003\000\000\
++\\023\003\000\000\
++\\024\003\021\000\092\001\000\000\
++\\025\003\000\000\
++\\026\003\017\000\075\002\000\000\
++\\027\003\000\000\
++\\028\003\050\000\074\002\000\000\
++\\029\003\014\000\064\001\000\000\
++\\030\003\000\000\
++\\031\003\000\000\
++\\032\003\012\000\053\001\000\000\
++\\033\003\000\000\
++\\034\003\000\000\
++\\035\003\000\000\
++\\036\003\027\000\052\001\050\000\051\001\000\000\
++\\037\003\014\000\064\001\000\000\
++\\038\003\000\000\
++\\039\003\000\000\
++\\040\003\002\000\138\000\000\000\
++\\041\003\000\000\
++\\042\003\002\000\138\000\000\000\
++\\043\003\000\000\
++\\044\003\000\000\
++\\045\003\002\000\138\000\000\000\
++\\046\003\000\000\
++\\047\003\000\000\
++\\048\003\000\000\
++\\049\003\000\000\
++\\050\003\000\000\
++\\051\003\000\000\
++\\052\003\000\000\
++\\053\003\000\000\
++\\054\003\000\000\
++\\055\003\072\000\057\001\000\000\
++\\056\003\000\000\
++\\057\003\000\000\
++\\058\003\012\000\058\001\000\000\
++\\059\003\000\000\
++\\060\003\000\000\
++\\061\003\000\000\
++\\062\003\012\000\086\002\000\000\
++\\063\003\000\000\
++\\064\003\000\000\
++\\065\003\017\000\143\001\000\000\
++\\066\003\000\000\
++\\067\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\068\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\069\003\000\000\
++\\070\003\000\000\
++\\071\003\021\000\037\001\000\000\
++\\072\003\000\000\
++\\073\003\000\000\
++\\074\003\000\000\
++\\075\003\000\000\
++\\076\003\013\000\087\000\019\000\086\000\000\000\
++\\077\003\019\000\086\000\000\000\
++\\078\003\014\000\064\001\000\000\
++\\079\003\000\000\
++\\080\003\000\000\
++\\081\003\000\000\
++\\082\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\083\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\084\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\000\000\
++\\085\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\027\000\063\000\036\000\057\000\
++\\037\000\056\000\043\000\052\000\044\000\051\000\045\000\050\000\
++\\047\000\048\000\051\000\046\000\073\000\036\000\074\000\035\000\
++\\075\000\034\000\076\000\033\000\077\000\032\000\078\000\031\000\
++\\079\000\030\000\080\000\029\000\000\000\
++\\086\003\000\000\
++\\087\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\027\000\063\000\036\000\057\000\
++\\037\000\056\000\043\000\052\000\044\000\051\000\045\000\050\000\
++\\047\000\048\000\051\000\046\000\073\000\036\000\074\000\035\000\
++\\075\000\034\000\076\000\033\000\077\000\032\000\078\000\031\000\
++\\079\000\030\000\080\000\029\000\000\000\
++\\088\003\000\000\
++\\089\003\000\000\
++\\090\003\000\000\
++\\091\003\000\000\
++\\092\003\000\000\
++\\093\003\000\000\
++\\094\003\000\000\
++\\095\003\000\000\
++\\096\003\000\000\
++\\097\003\000\000\
++\\098\003\000\000\
++\\099\003\000\000\
++\\100\003\000\000\
++\\101\003\000\000\
++\\102\003\000\000\
++\\103\003\000\000\
++\\104\003\000\000\
++\\105\003\000\000\
++\\106\003\000\000\
++\\107\003\000\000\
++\\108\003\000\000\
++\\109\003\000\000\
++\\110\003\000\000\
++\\111\003\000\000\
++\\112\003\003\000\074\000\000\000\
++\\113\003\000\000\
++\\114\003\003\000\074\000\000\000\
++\\115\003\000\000\
++\\116\003\000\000\
++\\117\003\013\000\087\000\019\000\086\000\021\000\023\001\035\000\085\000\
++\\049\000\084\000\000\000\
++\\118\003\013\000\087\000\019\000\086\000\021\000\032\001\035\000\085\000\
++\\049\000\084\000\000\000\
++\\119\003\000\000\
++\\120\003\000\000\
++\\121\003\015\000\246\000\017\000\245\000\019\000\244\000\000\000\
++\\122\003\000\000\
++\\123\003\015\000\246\000\019\000\244\000\000\000\
++\\124\003\014\000\064\001\000\000\
++\\125\003\000\000\
++\\126\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\070\000\113\000\000\000\
++\\127\003\000\000\
++\\128\003\000\000\
++\\129\003\000\000\
++\\130\003\000\000\
++\\131\003\000\000\
++\\132\003\000\000\
++\\133\003\000\000\
++\\134\003\000\000\
++\\135\003\000\000\
++\\136\003\000\000\
++\\137\003\000\000\
++\\138\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\009\000\120\000\010\000\068\000\016\000\066\000\037\000\119\000\
++\\043\000\118\000\044\000\117\000\047\000\242\000\051\000\115\000\
++\\070\000\113\000\000\000\
++\\138\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\037\000\119\000\043\000\118\000\
++\\044\000\117\000\047\000\242\000\051\000\115\000\070\000\113\000\000\000\
++\\139\003\000\000\
++\\140\003\015\000\246\000\017\000\177\001\019\000\244\000\000\000\
++\\141\003\000\000\
++\\142\003\021\000\095\001\000\000\
++\\143\003\000\000\
++\\144\003\000\000\
++\\145\003\021\000\099\001\000\000\
++\\146\003\000\000\
++\\147\003\000\000\
++\\148\003\000\000\
++\\149\003\015\000\182\001\000\000\
++\\150\003\000\000\
++\\151\003\000\000\
++\\152\003\000\000\
++\\153\003\014\000\064\001\000\000\
++\\155\003\000\000\
++\\156\003\000\000\
++\\157\003\000\000\
++\\158\003\000\000\
++\\159\003\000\000\
++\\160\003\000\000\
++\\161\003\000\000\
++\\162\003\000\000\
++\\163\003\014\000\064\001\000\000\
++\\164\003\000\000\
++\\165\003\021\000\164\001\000\000\
++\\166\003\000\000\
++\\167\003\003\000\074\000\004\000\073\000\005\000\072\000\016\000\063\001\000\000\
++\\168\003\014\000\064\001\021\000\162\001\000\000\
++\\169\003\000\000\
++\\170\003\017\000\188\000\000\000\
++\\170\003\017\000\188\000\022\000\238\001\000\000\
++\\171\003\000\000\
++\\172\003\000\000\
++\\173\003\013\000\087\000\019\000\086\000\021\000\023\001\035\000\085\000\
++\\049\000\084\000\059\000\022\001\000\000\
++\\173\003\013\000\087\000\019\000\086\000\035\000\085\000\049\000\084\000\
++\\059\000\022\001\000\000\
++\\174\003\001\000\076\000\002\000\075\000\003\000\074\000\004\000\073\000\
++\\005\000\072\000\006\000\071\000\007\000\070\000\008\000\069\000\
++\\010\000\068\000\016\000\066\000\018\000\065\000\027\000\063\000\
++\\032\000\060\000\036\000\057\000\037\000\056\000\038\000\055\000\
++\\043\000\052\000\044\000\051\000\045\000\050\000\047\000\048\000\
++\\051\000\046\000\054\000\043\000\069\000\037\000\073\000\036\000\
++\\074\000\035\000\075\000\034\000\076\000\033\000\077\000\032\000\
++\\078\000\031\000\079\000\030\000\080\000\029\000\000\000\
++\\175\003\000\000\
++\\176\003\000\000\
++\\177\003\000\000\
++\\178\003\000\000\
++\\179\003\000\000\
++\\180\003\000\000\
++\\181\003\000\000\
++\\182\003\000\000\
++\\183\003\000\000\
++\\184\003\000\000\
++\\185\003\000\000\
++\\186\003\000\000\
++\\187\003\000\000\
++\\188\003\000\000\
++\\189\003\000\000\
++\\190\003\000\000\
++\\191\003\000\000\
++\\192\003\000\000\
++\\193\003\000\000\
++\\194\003\000\000\
++\\195\003\000\000\
++\\196\003\000\000\
++\\197\003\000\000\
++\\198\003\000\000\
++\\199\003\000\000\
++\\200\003\000\000\
++\\201\003\000\000\
++\\202\003\000\000\
++\\203\003\000\000\
++\\204\003\000\000\
++\\205\003\000\000\
++\\206\003\000\000\
++\\207\003\000\000\
++\\208\003\000\000\
++\\209\003\000\000\
++\\210\003\000\000\
++\\211\003\000\000\
++\\212\003\000\000\
++\\213\003\000\000\
++\\214\003\000\000\
++\\215\003\000\000\
++\\216\003\000\000\
++\\217\003\003\000\074\000\004\000\073\000\016\000\066\000\027\000\063\000\000\000\
++\\218\003\000\000\
++\\219\003\003\000\074\000\000\000\
++\\220\003\000\000\
++\\221\003\003\000\074\000\005\000\072\000\000\000\
++\\222\003\000\000\
++\"
++val actionRowNumbers =
++"\131\000\189\001\204\001\207\001\
++\\130\000\135\000\132\000\144\000\
++\\136\000\199\001\198\001\208\001\
++\\209\001\095\001\206\001\205\001\
++\\188\001\024\000\128\000\082\001\
++\\046\000\147\000\187\001\098\001\
++\\087\001\093\001\148\000\031\000\
++\\032\000\033\000\031\000\031\000\
++\\031\000\031\000\031\000\006\000\
++\\001\000\029\001\017\000\017\000\
++\\131\000\006\000\053\001\026\000\
++\\020\000\052\001\005\000\141\000\
++\\245\000\003\000\012\000\050\001\
++\\048\001\006\000\004\000\011\000\
++\\017\000\000\000\178\001\006\000\
++\\025\000\201\001\029\001\006\000\
++\\200\001\029\001\056\001\191\001\
++\\190\001\197\001\196\001\195\001\
++\\194\001\055\001\192\001\133\000\
++\\096\001\005\001\202\001\203\001\
++\\227\001\131\000\006\000\178\001\
++\\022\000\006\000\094\001\063\000\
++\\193\001\122\001\064\000\120\001\
++\\120\001\120\001\122\001\065\000\
++\\066\000\067\000\044\000\251\000\
++\\007\001\007\000\030\001\089\000\
++\\137\001\130\001\129\001\139\001\
++\\133\001\136\001\134\001\140\001\
++\\008\000\020\000\146\001\147\001\
++\\015\000\147\001\212\001\028\001\
++\\018\000\000\001\024\001\023\001\
++\\025\001\034\000\191\000\145\000\
++\\222\001\090\000\137\000\225\001\
++\\134\000\092\001\024\000\054\001\
++\\057\001\223\001\004\001\231\001\
++\\224\001\097\001\118\000\119\000\
++\\182\001\104\001\139\000\105\000\
++\\141\000\141\000\106\000\249\000\
++\\248\000\245\000\245\000\245\000\
++\\114\000\126\001\108\001\218\001\
++\\217\001\221\001\068\000\091\000\
++\\111\000\079\001\103\001\219\001\
++\\058\001\051\001\049\001\047\000\
++\\115\000\101\001\220\001\099\001\
++\\226\001\138\000\109\000\002\000\
++\\009\000\254\000\016\001\018\001\
++\\020\001\014\001\181\001\180\001\
++\\009\000\088\001\253\000\210\001\
++\\044\001\003\001\040\001\038\001\
++\\024\000\018\000\060\001\065\001\
++\\063\001\066\001\059\001\001\001\
++\\061\001\045\000\018\000\127\000\
++\\228\001\129\000\084\001\083\001\
++\\164\001\160\001\215\001\016\000\
++\\023\000\086\001\161\001\214\001\
++\\213\001\170\001\216\001\022\000\
++\\013\000\085\001\022\000\069\000\
++\\122\001\022\000\120\001\070\000\
++\\071\000\072\000\073\000\022\000\
++\\022\000\022\000\006\000\252\000\
++\\147\001\006\000\022\000\009\000\
++\\009\000\135\001\010\001\092\000\
++\\008\000\138\001\120\000\032\001\
++\\121\000\151\001\116\000\014\001\
++\\061\000\060\000\112\000\154\001\
++\\093\000\144\001\155\001\062\000\
++\\117\000\094\000\029\001\095\000\
++\\029\000\029\000\029\000\074\000\
++\\232\001\105\001\106\001\080\001\
++\\184\001\006\000\141\000\143\000\
++\\142\000\006\000\246\000\247\000\
++\\107\000\107\001\006\000\077\001\
++\\022\000\006\000\102\001\011\000\
++\\006\000\100\001\194\000\255\000\
++\\019\001\002\000\009\000\096\000\
++\\072\001\073\001\103\000\043\001\
++\\042\001\022\000\021\000\025\000\
++\\039\001\097\000\064\001\029\001\
++\\029\001\178\001\098\000\245\000\
++\\169\001\022\000\022\000\122\000\
++\\049\000\113\000\173\001\075\000\
++\\166\001\051\000\022\000\123\001\
++\\052\000\121\001\022\000\022\000\
++\\022\000\022\000\053\000\050\000\
++\\054\000\090\001\008\001\132\001\
++\\149\001\128\001\131\001\104\000\
++\\011\001\031\001\034\000\141\001\
++\\148\001\009\000\142\001\158\001\
++\\145\001\014\000\009\000\143\001\
++\\022\000\026\001\027\000\181\000\
++\\180\000\170\000\193\000\195\000\
++\\192\000\184\000\022\000\081\001\
++\\183\001\124\001\125\001\082\000\
++\\083\000\245\000\127\001\015\001\
++\\076\001\078\001\043\000\076\000\
++\\244\000\198\000\195\000\208\000\
++\\123\000\024\000\029\001\017\000\
++\\028\000\195\000\029\000\024\000\
++\\029\001\029\001\017\001\021\001\
++\\006\000\009\000\006\000\045\001\
++\\211\001\046\001\020\000\041\001\
++\\179\001\069\001\067\001\089\001\
++\\178\001\084\000\163\001\175\001\
++\\174\001\162\001\019\000\168\001\
++\\022\000\165\001\011\000\022\000\
++\\117\001\055\000\119\001\056\000\
++\\057\000\058\000\059\000\113\001\
++\\010\000\111\001\007\000\009\000\
++\\178\001\033\001\151\001\157\001\
++\\009\000\153\001\156\001\027\001\
++\\158\000\038\000\156\000\035\000\
++\\077\000\149\000\042\000\164\000\
++\\110\000\141\000\141\000\172\000\
++\\171\000\126\000\085\000\179\000\
++\\126\000\017\000\048\000\146\000\
++\\109\001\086\000\006\000\029\000\
++\\197\000\191\000\080\000\199\000\
++\\226\000\018\000\200\000\222\000\
++\\201\000\081\000\205\000\210\000\
++\\099\000\019\000\196\000\182\000\
++\\206\000\204\000\229\000\232\000\
++\\018\000\202\000\203\000\022\001\
++\\074\001\075\001\047\001\025\000\
++\\019\000\002\001\167\001\177\001\
++\\176\001\172\001\171\001\118\001\
++\\115\001\116\001\114\001\110\001\
++\\186\001\125\000\185\001\009\001\
++\\150\001\012\001\152\001\159\001\
++\\151\000\017\000\160\000\152\000\
++\\150\000\126\000\029\000\029\000\
++\\166\000\140\000\087\000\108\000\
++\\173\000\029\001\183\000\185\000\
++\\186\000\020\000\250\000\091\001\
++\\243\000\100\000\022\000\024\000\
++\\225\000\029\001\029\000\026\000\
++\\209\000\101\000\207\000\229\001\
++\\024\000\231\000\022\000\224\000\
++\\036\001\068\001\034\001\062\001\
++\\112\001\008\000\157\000\036\000\
++\\163\000\162\000\161\000\159\000\
++\\079\000\124\000\165\000\027\000\
++\\174\000\175\000\126\000\019\000\
++\\187\000\188\000\030\000\006\001\
++\\070\001\027\000\228\000\227\000\
++\\223\000\216\000\212\000\211\000\
++\\019\000\230\001\230\000\233\000\
++\\022\000\025\000\013\001\153\000\
++\\154\000\030\000\168\000\169\000\
++\\078\000\176\000\102\000\185\000\
++\\020\000\239\000\039\000\234\000\
++\\215\000\126\000\017\000\214\000\
++\\213\000\037\001\035\001\037\000\
++\\167\000\178\000\177\000\022\000\
++\\189\000\071\001\236\000\017\000\
++\\237\000\235\000\126\000\217\000\
++\\218\000\155\000\190\000\240\000\
++\\040\000\219\000\220\000\030\000\
++\\238\000\241\000\030\000\217\000\
++\\041\000\221\000\242\000\088\000"
++val gotoT =
++"\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\030\000\021\000\042\000\020\000\046\000\019\000\047\000\018\000\
++\\051\000\017\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\068\000\013\000\069\000\012\000\070\000\011\000\084\000\123\002\
++\\093\000\010\000\094\000\009\000\113\000\008\000\114\000\007\000\
++\\133\000\006\000\134\000\005\000\135\000\004\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\030\000\021\000\051\000\017\000\113\000\008\000\114\000\007\000\
++\\133\000\006\000\134\000\005\000\135\000\075\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\076\000\014\000\023\000\015\000\022\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\068\000\013\000\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\010\000\094\000\009\000\155\000\080\000\156\000\079\000\
++\\157\000\078\000\158\000\077\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\086\000\014\000\023\000\015\000\022\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\068\000\013\000\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\126\000\087\000\000\000\
++\\126\000\089\000\000\000\
++\\126\000\091\000\000\000\
++\\126\000\093\000\000\000\
++\\126\000\094\000\000\000\
++\\126\000\095\000\000\000\
++\\126\000\096\000\000\000\
++\\126\000\097\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\098\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\103\000\
++\\093\000\010\000\094\000\009\000\147\000\102\000\150\000\101\000\
++\\151\000\100\000\152\000\099\000\157\000\002\000\164\000\001\000\000\000\
++\\128\000\124\000\129\000\123\000\130\000\122\000\144\000\121\000\
++\\147\000\102\000\149\000\120\000\150\000\119\000\000\000\
++\\093\000\128\000\108\000\127\000\125\000\126\000\000\000\
++\\093\000\131\000\095\000\130\000\103\000\129\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\030\000\021\000\042\000\020\000\046\000\019\000\047\000\132\000\
++\\051\000\017\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\068\000\013\000\069\000\012\000\070\000\011\000\093\000\010\000\
++\\094\000\009\000\113\000\008\000\114\000\007\000\133\000\006\000\
++\\134\000\005\000\135\000\004\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\133\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\033\000\135\000\083\000\134\000\000\000\
++\\061\000\140\000\063\000\139\000\065\000\138\000\093\000\128\000\
++\\125\000\137\000\000\000\
++\\061\000\015\000\062\000\014\000\068\000\141\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\144\000\043\000\143\000\045\000\142\000\046\000\019\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\068\000\013\000\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\164\000\001\000\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\147\000\116\000\146\000\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\150\000\
++\\051\000\017\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\157\000\044\000\156\000\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\038\000\165\000\039\000\164\000\050\000\163\000\058\000\162\000\
++\\073\000\161\000\093\000\160\000\094\000\159\000\000\000\
++\\033\000\169\000\000\000\
++\\033\000\170\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\171\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\157\000\044\000\172\000\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\050\000\175\000\058\000\174\000\073\000\161\000\093\000\160\000\
++\\094\000\159\000\000\000\
++\\049\000\178\000\052\000\177\000\093\000\176\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\183\000\011\000\182\000\014\000\107\000\015\000\022\000\
++\\057\000\181\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\070\000\104\000\077\000\180\000\093\000\010\000\094\000\009\000\
++\\147\000\102\000\150\000\179\000\157\000\002\000\164\000\001\000\000\000\
++\\072\000\189\000\076\000\188\000\077\000\187\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\190\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\013\000\195\000\034\000\194\000\037\000\193\000\075\000\192\000\
++\\093\000\010\000\094\000\009\000\155\000\191\000\156\000\079\000\
++\\157\000\078\000\000\000\
++\\000\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\026\000\200\000\027\000\199\000\085\000\198\000\147\000\102\000\
++\\149\000\197\000\150\000\119\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\205\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\022\000\207\000\025\000\201\000\026\000\200\000\027\000\199\000\
++\\147\000\102\000\149\000\206\000\150\000\119\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\010\000\094\000\009\000\155\000\080\000\156\000\079\000\
++\\157\000\078\000\158\000\208\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\030\000\021\000\042\000\020\000\046\000\019\000\047\000\209\000\
++\\051\000\017\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\068\000\013\000\069\000\012\000\070\000\011\000\093\000\010\000\
++\\094\000\009\000\113\000\008\000\114\000\007\000\133\000\006\000\
++\\134\000\005\000\135\000\004\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\210\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\072\000\211\000\076\000\188\000\077\000\187\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\217\000\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\225\000\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\228\000\127\000\227\000\000\000\
++\\000\000\
++\\007\000\231\000\093\000\230\000\000\000\
++\\007\000\232\000\093\000\230\000\000\000\
++\\007\000\233\000\093\000\230\000\000\000\
++\\093\000\228\000\127\000\234\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\103\000\
++\\093\000\010\000\094\000\009\000\151\000\100\000\152\000\239\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\245\000\014\000\107\000\
++\\015\000\022\000\059\000\016\000\061\000\015\000\062\000\014\000\
++\\070\000\104\000\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\247\000\
++\\088\000\246\000\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\061\000\015\000\062\000\014\000\068\000\249\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\253\000\
++\\082\000\252\000\093\000\010\000\094\000\009\000\147\000\251\000\
++\\148\000\250\000\157\000\002\000\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\253\000\
++\\082\000\254\000\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\050\000\004\001\058\000\174\000\073\000\161\000\080\000\003\001\
++\\081\000\002\001\093\000\001\001\094\000\000\001\155\000\255\000\
++\\156\000\079\000\157\000\078\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\253\000\
++\\082\000\008\001\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\093\000\220\000\094\000\219\000\142\000\009\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\147\000\251\000\148\000\250\000\000\000\
++\\098\000\011\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\010\000\094\000\009\000\155\000\015\001\156\000\079\000\
++\\157\000\078\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\140\000\063\000\139\000\065\000\016\001\093\000\128\000\
++\\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\078\000\019\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\023\001\116\000\146\000\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\024\001\116\000\146\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\026\001\
++\\051\000\017\000\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\027\001\
++\\051\000\017\000\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\028\001\
++\\051\000\017\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\017\000\031\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\183\000\011\000\182\000\014\000\107\000\015\000\022\000\
++\\057\000\039\001\059\000\016\000\061\000\015\000\062\000\014\000\
++\\070\000\104\000\077\000\180\000\093\000\010\000\094\000\009\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\040\001\014\000\107\000\015\000\022\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\093\000\010\000\
++\\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\017\000\043\001\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\046\001\
++\\086\000\045\001\087\000\044\001\093\000\010\000\094\000\009\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\035\000\048\001\036\000\047\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\013\000\052\001\093\000\010\000\094\000\009\000\155\000\191\000\
++\\156\000\079\000\157\000\078\000\000\000\
++\\093\000\220\000\094\000\219\000\142\000\053\001\000\000\
++\\000\000\
++\\000\000\
++\\163\000\054\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\220\000\094\000\219\000\142\000\058\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\060\001\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\064\001\138\000\216\000\139\000\215\000\
++\\140\000\063\001\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\050\000\067\001\058\000\174\000\073\000\161\000\093\000\160\000\
++\\094\000\159\000\131\000\066\001\132\000\065\001\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\069\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\093\000\228\000\127\000\071\001\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\072\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\007\000\073\001\093\000\230\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\078\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\079\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\080\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\081\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\253\000\
++\\082\000\252\000\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\082\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\083\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\008\000\085\001\
++\\014\000\107\000\015\000\022\000\020\000\084\001\021\000\105\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\070\000\104\000\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\086\001\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\093\000\010\000\
++\\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\247\000\
++\\088\000\088\001\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\012\000\092\001\000\000\
++\\000\000\
++\\017\000\095\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\128\000\124\000\130\000\101\001\147\000\102\000\149\000\120\000\
++\\150\000\119\000\000\000\
++\\000\000\
++\\093\000\131\000\099\000\106\001\100\000\105\001\101\000\104\001\
++\\103\000\103\001\000\000\
++\\093\000\131\000\099\000\108\001\100\000\105\001\101\000\104\001\
++\\103\000\103\001\000\000\
++\\093\000\131\000\100\000\109\001\101\000\104\001\103\000\103\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\112\001\045\000\111\001\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\114\001\043\000\113\001\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\115\001\116\000\146\000\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\112\001\045\000\116\001\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\157\000\044\000\118\001\046\000\019\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\068\000\013\000\069\000\012\000\
++\\070\000\011\000\093\000\010\000\094\000\009\000\156\000\003\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\119\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\120\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\038\000\165\000\039\000\121\001\050\000\163\000\058\000\162\000\
++\\073\000\161\000\093\000\160\000\094\000\159\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\122\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\048\000\128\001\092\000\127\001\093\000\128\000\105\000\126\001\
++\\106\000\125\001\107\000\124\001\125\000\123\001\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\183\000\011\000\182\000\014\000\107\000\015\000\022\000\
++\\057\000\138\001\059\000\016\000\061\000\015\000\062\000\014\000\
++\\070\000\104\000\077\000\180\000\093\000\010\000\094\000\009\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\185\000\009\000\184\000\
++\\010\000\139\001\014\000\107\000\015\000\022\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\093\000\010\000\
++\\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\143\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\060\000\145\001\061\000\015\000\062\000\014\000\068\000\144\001\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\000\000\
++\\013\000\195\000\034\000\194\000\037\000\147\001\075\000\192\000\
++\\093\000\010\000\094\000\009\000\155\000\191\000\156\000\079\000\
++\\157\000\078\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\128\000\124\000\129\000\123\000\130\000\122\000\144\000\149\001\
++\\147\000\102\000\149\000\120\000\150\000\119\000\000\000\
++\\025\000\201\000\027\000\150\001\147\000\102\000\149\000\206\000\
++\\150\000\119\000\000\000\
++\\072\000\151\001\076\000\188\000\077\000\187\000\000\000\
++\\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\153\001\
++\\051\000\017\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\156\001\138\000\155\001\139\000\154\001\142\000\214\000\
++\\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\157\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\165\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\167\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\168\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\169\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\170\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\147\000\251\000\148\000\177\001\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\178\001\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\074\000\179\001\000\000\
++\\000\000\
++\\050\000\004\001\058\000\174\000\073\000\161\000\080\000\003\001\
++\\081\000\181\001\093\000\001\001\094\000\000\001\155\000\255\000\
++\\156\000\079\000\157\000\078\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\182\001\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\183\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\049\000\192\001\061\000\140\000\063\000\191\001\093\000\190\001\
++\\109\000\189\001\120\000\188\001\121\000\187\001\122\000\186\001\
++\\123\000\185\001\124\000\184\001\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\161\000\196\001\162\000\195\001\000\000\
++\\000\000\
++\\092\000\127\001\105\000\126\001\106\000\125\001\107\000\198\001\000\000\
++\\000\000\
++\\096\000\199\001\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\202\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\078\000\019\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\028\000\153\000\029\000\152\000\030\000\151\000\031\000\205\001\
++\\051\000\017\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\092\000\127\001\105\000\126\001\106\000\125\001\107\000\208\001\000\000\
++\\000\000\
++\\000\000\
++\\093\000\010\000\094\000\009\000\153\000\212\001\154\000\211\001\
++\\155\000\210\001\156\000\079\000\157\000\078\000\000\000\
++\\128\000\124\000\129\000\123\000\130\000\122\000\144\000\216\001\
++\\145\000\215\001\146\000\214\001\147\000\102\000\149\000\213\001\
++\\150\000\119\000\000\000\
++\\093\000\128\000\117\000\218\001\125\000\217\001\000\000\
++\\061\000\140\000\063\000\220\001\064\000\219\001\093\000\128\000\
++\\125\000\137\000\000\000\
++\\092\000\127\001\105\000\126\001\106\000\125\001\107\000\222\001\000\000\
++\\093\000\131\000\099\000\224\001\100\000\105\001\101\000\104\001\
++\\103\000\223\001\000\000\
++\\013\000\227\001\040\000\226\001\041\000\225\001\093\000\010\000\
++\\094\000\009\000\155\000\191\000\156\000\079\000\157\000\078\000\000\000\
++\\145\000\215\001\146\000\229\001\147\000\102\000\149\000\228\001\
++\\150\000\119\000\000\000\
++\\022\000\204\000\023\000\230\001\024\000\202\000\025\000\201\000\
++\\026\000\200\000\027\000\199\000\085\000\198\000\147\000\102\000\
++\\149\000\197\000\150\000\119\000\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\231\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\046\001\
++\\086\000\045\001\087\000\232\001\093\000\010\000\094\000\009\000\
++\\157\000\002\000\164\000\001\000\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\233\001\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\060\000\234\001\061\000\015\000\062\000\014\000\068\000\144\001\
++\\069\000\012\000\070\000\011\000\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\000\000\
++\\000\000\
++\\076\000\235\001\077\000\187\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\076\000\235\001\077\000\187\000\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\060\001\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\238\001\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\240\001\138\000\216\000\139\000\215\000\
++\\140\000\239\001\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\050\000\067\001\058\000\174\000\073\000\161\000\093\000\160\000\
++\\094\000\159\000\131\000\066\001\132\000\241\001\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\242\001\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\014\000\250\001\015\000\022\000\019\000\249\001\059\000\016\000\
++\\093\000\248\001\164\000\001\000\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\103\000\
++\\093\000\010\000\094\000\009\000\151\000\251\001\157\000\002\000\
++\\164\000\001\000\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\008\000\252\001\
++\\014\000\107\000\015\000\022\000\020\000\084\001\021\000\105\000\
++\\059\000\016\000\061\000\015\000\062\000\014\000\070\000\104\000\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\072\000\253\001\076\000\188\000\077\000\187\000\000\000\
++\\000\000\
++\\012\000\254\001\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\255\001\
++\\093\000\010\000\094\000\009\000\157\000\002\000\164\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\112\000\000\002\000\000\
++\\110\000\004\002\112\000\003\002\161\000\002\002\162\000\195\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\006\000\008\002\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\010\002\116\000\146\000\000\000\
++\\030\000\021\000\051\000\017\000\113\000\148\000\114\000\007\000\
++\\115\000\011\002\116\000\146\000\000\000\
++\\000\000\
++\\000\000\
++\\160\000\012\002\000\000\
++\\000\000\
++\\000\000\
++\\160\000\015\002\000\000\
++\\093\000\131\000\095\000\016\002\103\000\129\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\025\000\005\000\024\000\014\000\023\000\015\000\022\000\
++\\042\000\019\002\046\000\019\000\059\000\016\000\061\000\015\000\
++\\062\000\014\000\068\000\013\000\069\000\012\000\070\000\011\000\
++\\093\000\010\000\094\000\009\000\156\000\003\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\093\000\131\000\099\000\020\002\100\000\105\001\101\000\104\001\
++\\103\000\103\001\000\000\
++\\000\000\
++\\098\000\021\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\220\000\094\000\219\000\142\000\024\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\029\002\067\000\028\002\093\000\220\000\
++\\094\000\219\000\142\000\214\000\000\000\
++\\000\000\
++\\093\000\131\000\103\000\031\002\104\000\030\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\141\000\033\002\000\000\
++\\093\000\220\000\094\000\219\000\142\000\035\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\013\000\195\000\016\000\038\002\018\000\037\002\075\000\036\002\
++\\093\000\010\000\094\000\009\000\155\000\191\000\156\000\079\000\
++\\157\000\078\000\000\000\
++\\061\000\222\000\066\000\039\002\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\128\000\108\000\042\002\125\000\126\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\160\000\043\002\000\000\
++\\093\000\131\000\100\000\044\002\101\000\104\001\103\000\103\001\000\000\
++\\093\000\131\000\100\000\045\002\101\000\104\001\103\000\103\001\000\000\
++\\000\000\
++\\030\000\021\000\049\000\192\001\051\000\017\000\061\000\140\000\
++\\063\000\191\001\093\000\190\001\113\000\148\000\114\000\007\000\
++\\115\000\049\002\116\000\146\000\120\000\048\002\121\000\047\002\
++\\123\000\046\002\124\000\184\001\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\159\000\053\002\162\000\052\002\000\000\
++\\147\000\102\000\149\000\055\002\150\000\119\000\000\000\
++\\000\000\
++\\096\000\057\002\097\000\056\002\000\000\
++\\000\000\
++\\061\000\015\000\062\000\014\000\068\000\060\002\069\000\012\000\
++\\070\000\011\000\071\000\059\002\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\062\002\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\093\000\010\000\094\000\009\000\153\000\212\001\154\000\063\002\
++\\155\000\210\001\156\000\079\000\157\000\078\000\000\000\
++\\000\000\
++\\145\000\215\001\146\000\064\002\147\000\102\000\149\000\228\001\
++\\150\000\119\000\000\000\
++\\093\000\131\000\100\000\065\002\101\000\104\001\103\000\103\001\000\000\
++\\061\000\140\000\063\000\067\002\064\000\066\002\093\000\128\000\
++\\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\131\000\103\000\031\002\104\000\069\002\000\000\
++\\013\000\227\001\040\000\226\001\041\000\070\002\093\000\010\000\
++\\094\000\009\000\155\000\191\000\156\000\079\000\157\000\078\000\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\071\002\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\110\000\003\000\109\000\004\000\108\000\014\000\107\000\
++\\015\000\022\000\020\000\106\000\021\000\105\000\059\000\016\000\
++\\061\000\015\000\062\000\014\000\070\000\104\000\079\000\247\000\
++\\088\000\074\002\093\000\010\000\094\000\009\000\157\000\002\000\
++\\164\000\001\000\000\000\
++\\000\000\
++\\110\000\076\002\111\000\075\002\112\000\003\002\159\000\053\002\
++\\162\000\052\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\161\000\002\002\162\000\195\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\049\000\192\001\061\000\140\000\063\000\191\001\093\000\190\001\
++\\120\000\080\002\121\000\047\002\123\000\046\002\124\000\184\001\
++\\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\160\000\081\002\000\000\
++\\061\000\222\000\066\000\082\002\093\000\220\000\094\000\219\000\
++\\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\093\000\131\000\095\000\016\002\103\000\129\000\160\000\083\002\000\000\
++\\000\000\
++\\000\000\
++\\049\000\192\001\053\000\087\002\061\000\140\000\063\000\191\001\
++\\093\000\190\001\120\000\188\001\121\000\086\002\122\000\085\002\
++\\123\000\185\001\124\000\184\001\125\000\137\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\118\000\088\002\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\092\002\067\000\091\002\093\000\220\000\
++\\094\000\219\000\142\000\214\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\093\002\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\013\000\195\000\016\000\038\002\018\000\094\002\075\000\036\002\
++\\093\000\010\000\094\000\009\000\155\000\191\000\156\000\079\000\
++\\157\000\078\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\093\000\128\000\108\000\042\002\125\000\126\000\160\000\095\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\159\000\098\002\162\000\097\002\000\000\
++\\000\000\
++\\096\000\057\002\097\000\100\002\000\000\
++\\061\000\015\000\062\000\014\000\068\000\060\002\069\000\012\000\
++\\070\000\011\000\071\000\101\002\093\000\010\000\094\000\009\000\
++\\156\000\003\000\157\000\002\000\000\000\
++\\056\000\102\002\000\000\
++\\054\000\105\002\056\000\104\002\161\000\002\002\162\000\195\001\000\000\
++\\000\000\
++\\000\000\
++\\160\000\107\002\000\000\
++\\093\000\128\000\117\000\108\002\125\000\217\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\110\000\076\002\111\000\109\002\112\000\003\002\159\000\098\002\
++\\162\000\097\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\061\000\222\000\066\000\221\000\093\000\220\000\094\000\219\000\
++\\136\000\218\000\137\000\110\002\138\000\216\000\139\000\215\000\
++\\142\000\214\000\143\000\213\000\147\000\212\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\049\000\178\000\052\000\111\002\093\000\176\000\000\000\
++\\000\000\
++\\000\000\
++\\160\000\112\002\000\000\
++\\118\000\114\002\119\000\113\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\054\000\117\002\055\000\116\002\056\000\104\002\159\000\053\002\
++\\162\000\052\002\000\000\
++\\000\000\
++\\000\000\
++\\093\000\128\000\117\000\108\002\125\000\217\001\160\000\119\002\000\000\
++\\000\000\
++\\000\000\
++\\049\000\178\000\052\000\111\002\093\000\176\000\160\000\120\002\000\000\
++\\118\000\114\002\119\000\121\002\000\000\
++\\054\000\117\002\055\000\122\002\056\000\104\002\159\000\098\002\
++\\162\000\097\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 636
++val numrules = 353
++val s = ref "" and index = ref 0
++val string_to_int = fn () => 
++let val i = !index
++in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
++end
++val string_to_list = fn s' =>
++    let val len = String.size s'
++        fun f () =
++           if !index < len then string_to_int() :: f()
++           else nil
++   in index := 0; s := s'; f ()
++   end
++val string_to_pairlist = fn (conv_key,conv_entry) =>
++     let fun f () =
++         case string_to_int()
++         of 0 => EMPTY
++          | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
++     in f
++     end
++val string_to_pairlist_default = fn (conv_key,conv_entry) =>
++    let val conv_row = string_to_pairlist(conv_key,conv_entry)
++    in fn () =>
++       let val default = conv_entry(string_to_int())
++           val row = conv_row()
++       in (row,default)
++       end
++   end
++val string_to_table = fn (convert_row,s') =>
++    let val len = String.size s'
++        fun f ()=
++           if !index < len then convert_row() :: f()
++           else nil
++     in (s := s'; index := 0; f ())
++     end
++local
++  val memo = Array.array(numstates+numrules,ERROR)
++  val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
++       fun f i =
++            if i=numstates then g i
++            else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
++          in f 0 handle Pervasive.General.Subscript => ()
++          end
++in
++val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
++end
++val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
++val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
++val actionRowNumbers = string_to_list actionRowNumbers
++val actionT = let val actionRowLookUp=
++let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
++in Array.fromList(Pervasive.List.map actionRowLookUp actionRowNumbers)
++end
++in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
++numStates=numstates,initialState=STATE 0}
++end
++end
++local open Header in
++type pos = SourcePos.t
++type arg = unit
++structure MlyValue = 
++struct
++datatype svalue = VOID | ntVOID of unit ->  unit | SHOW_BASIS of unit ->  (File.t) | WORD of unit ->  ({ digits:string,radix:StringCvt.radix } ) | TYVAR of unit ->  (string) | STRING of unit ->  (IntInf.t vector) | REAL of unit ->  (string) | LONGSYMID of unit ->  (string) | LONGALPHANUMID of unit ->  (string) | SHORTSYMID of unit ->  (string) | SHORTALPHANUMID of unit ->  (string) | INT of unit ->  ({ digits:string,extended:bool,negate:bool,radix:StringCvt.radix } ) | CHAR of unit ->  (IntInf.t) | word of unit ->  (IntInf.t) | withtypes of unit ->  (TypBind.t) | whereeqns' of unit ->  (WhereEquation.t list) | whereeqns of unit ->  (WhereEquation.t vector) | whereeqn of unit ->  ( ( SourcePos.t -> WhereEquation.t ) ) | whereandeqns of unit ->  (WhereEquation.t list) | vids of unit ->  (Vid.t list) | vidNoEqual of unit ->  (Vid.t) | vidEqual of unit ->  (Vid.t) | vid of unit ->  (Vid.t) | valdescs of unit ->  (valdesc list) | valdesc of unit ->  (valdesc) | valbindTop of unit ->  (vb vector*rvb vector) | valbind of unit ->  (vb list*rvb list) | tyvarseq of unit ->  (Tyvar.t vector) | tyvars of unit ->  (Tyvar.t vector) | tyvar_pc of unit ->  (Tyvar.t list) | tyvar of unit ->  (Tyvar.t) | typdescs of unit ->  (typdesc list) | typdesc of unit ->  (typdesc) | typBind of unit ->  (TypBind.t) | tynode of unit ->  (Type.node) | tycon of unit ->  (Tycon.t) | tyOpt of unit ->  (Type.t option) | ty0_pc of unit ->  (Type.t list) | ty'node of unit ->  (Type.node) | ty' of unit ->  (Type.t) | ty of unit ->  (Type.t) | tuple_ty of unit ->  (Type.t list) | topdecs of unit ->  (Topdec.t list list) | topdecnode of unit ->  (Topdec.node) | topdec of unit ->  (Topdec.t) | tlabels of unit ->  ( ( Field.t * (Region.t * Type.t) )  list) | tlabel of unit ->  ( ( Field.t * (Region.t * Type.t) ) ) | tbs' of unit ->  (tb list) | tbs of unit ->  (tb vector) | tb of unit ->  (tb) | symattributes of unit ->  (PrimKind.SymbolAttribute.t list) | string of unit ->  (string) | strid of unit ->  (Strid.t) | strexpnode of unit ->  (Strexp.node) | strexp2node of unit ->  (Strexp.node) | strexp2 of unit ->  (Strexp.t) | strexp1 of unit ->  (Strexp.t* ( Sigexp.t -> SigConst.t ) *Sigexp.t) | strexp of unit ->  (Strexp.t) | strdescs'' of unit ->  (strdesc whereAndEqns) | strdescs' of unit ->  (strdesc whereAndEqns) | strdescs of unit ->  (strdesc list) | strdecsnode of unit ->  (Strdec.node) | strdecs of unit ->  (Strdec.t) | strdecnode of unit ->  (Strdec.node) | strdec of unit ->  (Strdec.t) | strbinds'2 of unit ->  (strbind list) | strbinds'1' of unit ->  (strbind whereAndEqns) | strbinds'1 of unit ->  (strbind whereAndEqns) | strbinds' of unit ->  (Strexp.t*strbind list) | strbinds of unit ->  (strbind list) | specs of unit ->  (Spec.t) | specnode of unit ->  (Spec.node) | spec of unit ->  (Spec.t) | sigids of unit ->  (Sigid.t list) | sigid of unit ->  (Sigid.t) | sigexpnode of unit ->  (Sigexp.node) | sigexp'node of unit ->  (Sigexp.node) | sigexp' of unit ->  (Sigexp.t) | sigexp of unit ->  (Sigexp.t) | sigconst of unit ->  (SigConst.t) | sigbinds'' of unit ->  (sigbind whereAndEqns) | sigbinds' of unit ->  (sigbind whereAndEqns) | sigbinds of unit ->  (sigbind list) | shortSymId of unit ->  (Symbol.t*Region.t) | shortAlphanumId of unit ->  (Symbol.t*Region.t) | sharespec of unit ->  (SharingEquation.node) | sdecsPlus of unit ->  (Dec.t) | sdecs of unit ->  (Dec.t) | sdec of unit ->  (Dec.t) | rvalbind of unit ->  (rvb list) | rules of unit ->  (rule list) | rule of unit ->  (rule) | repl of unit ->  (DatatypeRhs.node) | program of unit ->  (Program.t) | priority of unit ->  (Priority.t) | pats of unit ->  (Pat.t list) | patitems of unit ->  ( ( (Field.t * Region.t * Pat.Item.t) list * bool ) ) | patitem of unit ->  ( ( Field.t * Region.t * Pat.Item.t ) ) | pat of unit ->  (Pat.t) | optsemicolon of unit ->  (unit) | optbar' of unit ->  (unit) | optbar of unit ->  (unit) | opcon of unit ->  (Con.t) | opaspat of unit ->  (Pat.t option) | numericField of unit ->  (int) | match of unit ->  (Match.t) | longvidands of unit ->  (Longvid.t list) | longvidNoEqual of unit ->  (Longvid.t) | longvidEqual of unit ->  (Longvid.t) | longvid of unit ->  (Longvid.t) | longtyconeqns of unit ->  (Longtycon.t list) | longtycon of unit ->  (Longtycon.t) | longstrids of unit ->  (Longstrid.t list) | longstrideqns of unit ->  (Longstrid.t list) | longstrid of unit ->  (Longstrid.t) | longSymId of unit ->  (Symbol.t list*Region.t) | longAlphanumId of unit ->  (Symbol.t list*Region.t) | longcon of unit ->  (Longcon.t) | int of unit ->  (IntInf.t) | idField of unit ->  (Symbol.t*Region.t) | funs of unit ->  (clauses list) | funbinds'2 of unit ->  (funbind list) | funbinds'1' of unit ->  (funbind whereAndEqns) | funbinds'1 of unit ->  (funbind whereAndEqns) | funbinds' of unit ->  (Strexp.t*funbind list) | funbinds of unit ->  (funbind list) | fixity of unit ->  (Fixity.t) | field of unit ->  (Field.t) | fctid of unit ->  (Fctid.t) | fctarg of unit ->  (FctArg.node) | expsAndTopdecs of unit ->  (Topdec.t list list) | expnode of unit ->  (Exp.node) | exp_ps of unit ->  (Exp.t list) | exp_list of unit ->  (Exp.t list) | exp_2c of unit ->  (Exp.t list) | exp of unit ->  (Exp.t) | exndescs of unit ->  (exndesc list) | exndesc of unit ->  (exndesc) | elabels of unit ->  ( ( Field.t * (Region.t * Exp.t) )  list) | elabel of unit ->  ( ( Field.t * (Region.t * Exp.t) ) ) | ebs of unit ->  (eb list) | ebrhsnode of unit ->  (EbRhs.node) | ebrhs of unit ->  (EbRhs.t) | eb of unit ->  (eb) | digit of unit ->  (int) | decsnode of unit ->  (Dec.node) | decs of unit ->  (Dec.t) | decnolocal of unit ->  (Dec.node) | decnode of unit ->  (Dec.node) | dec of unit ->  (Dec.t) | dbs' of unit ->  (db list) | dbs of unit ->  (db vector) | db of unit ->  (db) | datatypeRhsnode of unit ->  (DatatypeRhs.node) | datatypeRhs of unit ->  (DatatypeRhs.t) | datBind of unit ->  (DatBind.t) | cpatnode of unit ->  (Pat.node) | cpat of unit ->  (Pat.t) | constOrBool of unit ->  (Const.t) | constrs of unit ->  ( ( Con.t * Type.t option )  list) | constraint of unit ->  (Type.t option) | constr of unit ->  (Con.t*Type.t option) | const' of unit ->  (Const.node) | const of unit ->  (Const.t) | con of unit ->  (Con.t) | commapats of unit ->  (Pat.t list) | clausesTop of unit ->  (clauses) | clauses of unit ->  (clause list) | clause of unit ->  (clause) | barcpats of unit ->  (Pat.t list) | ieattributes of unit ->  (PrimKind.ImportExportAttribute.t list) | arg_fct of unit ->  (Strexp.t) | app_exp of unit ->  (Exp.t list) | apats of unit ->  (Pat.t list) | apatnode of unit ->  (Pat.node) | apat of unit ->  (Pat.t) | aexp of unit ->  (Exp.node)
++end
++type svalue = MlyValue.svalue
++type result = Program.t
++end
++structure EC=
++struct
++open LrTable
++infix 5 $$
++fun x $$ y = y::x
++val is_keyword =
++fn (T 10) => true | (T 11) => true | (T 14) => true | (T 17) => true | (T 21) => true | (T 22) => true | (T 23) => true | (T 24) => true | (T 27) => true | (T 28) => true | (T 29) => true | (T 30) => true | (T 31) => true | (T 32) => true | (T 33) => true | (T 34) => true | (T 37) => true | (T 38) => true | (T 39) => true | (T 40) => true | (T 41) => true | (T 44) => true | (T 45) => true | (T 47) => true | (T 49) => true | (T 50) => true | (T 51) => true | (T 52) => true | (T 53) => true | (T 56) => true | (T 59) => true | (T 60) => true | (T 61) => true | (T 62) => true | (T 63) => true | (T 64) => true | (T 65) => true | (T 66) => true | (T 68) => true | (T 67) => true | (T 70) => true | (T 71) => true | (T 48) => true | (T 12) => true | _ => false
++val preferred_change : (term list * term list) list = 
++(nil
++,nil
++ $$ (T 66))::
++(nil
++,nil
++ $$ (T 64))::
++(nil
++,nil
++ $$ (T 23))::
++(nil
++,nil
++ $$ (T 46))::
++(nil
++,nil
++ $$ (T 58))::
++(nil
++ $$ (T 30),nil
++ $$ (T 26))::
++(nil
++ $$ (T 26),nil
++ $$ (T 30))::
++(nil
++ $$ (T 11),nil
++ $$ (T 12))::
++(nil
++ $$ (T 18),nil
++ $$ (T 49))::
++(nil
++ $$ (T 58),nil
++ $$ (T 20))::
++(nil
++ $$ (T 20),nil
++ $$ (T 58))::
++(nil
++,nil
++ $$ (T 24) $$ (T 2) $$ (T 38))::
++(nil
++,nil
++ $$ (T 2) $$ (T 23))::
++nil
++val noShift = 
++fn (T 25) => true | _ => false
++val showTerminal =
++fn (T 0) => "CHAR"
++  | (T 1) => "INT"
++  | (T 2) => "SHORTALPHANUMID"
++  | (T 3) => "SHORTSYMID"
++  | (T 4) => "LONGALPHANUMID"
++  | (T 5) => "LONGSYMID"
++  | (T 6) => "REAL"
++  | (T 7) => "STRING"
++  | (T 8) => "TYVAR"
++  | (T 9) => "WORD"
++  | (T 10) => "ABSTYPE"
++  | (T 11) => "AND"
++  | (T 12) => "ANDALSO"
++  | (T 13) => "ARROW"
++  | (T 14) => "AS"
++  | (T 15) => "ASTERISK"
++  | (T 16) => "BAR"
++  | (T 17) => "CASE"
++  | (T 18) => "COLON"
++  | (T 19) => "COLONGT"
++  | (T 20) => "COMMA"
++  | (T 21) => "DATATYPE"
++  | (T 22) => "DOTDOTDOT"
++  | (T 23) => "ELSE"
++  | (T 24) => "END"
++  | (T 25) => "EOF"
++  | (T 26) => "EQUALOP"
++  | (T 27) => "EQTYPE"
++  | (T 28) => "EXCEPTION"
++  | (T 29) => "DO"
++  | (T 30) => "DARROW"
++  | (T 31) => "FN"
++  | (T 32) => "FUN"
++  | (T 33) => "FUNCTOR"
++  | (T 34) => "HANDLE"
++  | (T 35) => "HASH"
++  | (T 36) => "HASHLBRACKET"
++  | (T 37) => "IF"
++  | (T 38) => "IN"
++  | (T 39) => "INCLUDE"
++  | (T 40) => "INFIX"
++  | (T 41) => "INFIXR"
++  | (T 42) => "LBRACE"
++  | (T 43) => "LBRACKET"
++  | (T 44) => "LET"
++  | (T 45) => "LOCAL"
++  | (T 46) => "LPAREN"
++  | (T 47) => "NONFIX"
++  | (T 48) => "ORELSE"
++  | (T 49) => "OF"
++  | (T 50) => "OP"
++  | (T 51) => "OPEN"
++  | (T 52) => "OVERLOAD"
++  | (T 53) => "RAISE"
++  | (T 54) => "RBRACE"
++  | (T 55) => "RBRACKET"
++  | (T 56) => "REC"
++  | (T 57) => "RPAREN"
++  | (T 58) => "SEMICOLON"
++  | (T 59) => "SHARING"
++  | (T 60) => "SIG"
++  | (T 61) => "SIGNATURE"
++  | (T 62) => "STRUCT"
++  | (T 63) => "STRUCTURE"
++  | (T 64) => "THEN"
++  | (T 65) => "TYPE"
++  | (T 66) => "VAL"
++  | (T 67) => "WHERE"
++  | (T 68) => "WHILE"
++  | (T 69) => "WILD"
++  | (T 70) => "WITH"
++  | (T 71) => "WITHTYPE"
++  | (T 72) => "BUILD_CONST"
++  | (T 73) => "COMMAND_LINE_CONST"
++  | (T 74) => "CONST"
++  | (T 75) => "ADDRESS"
++  | (T 76) => "EXPORT"
++  | (T 77) => "IMPORT"
++  | (T 78) => "SYMBOL"
++  | (T 79) => "PRIM"
++  | (T 80) => "SHOW_BASIS"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn (T 0) => MlyValue.CHAR(fn () => (IntInf.fromInt (Char.ord #"a"))) | 
++(T 1) => MlyValue.INT(fn () => ({digits = "0", extended = false, negate = false, radix = StringCvt.DEC})) | 
++(T 2) => MlyValue.SHORTALPHANUMID(fn () => ("bogus")) | 
++(T 6) => MlyValue.REAL(fn () => ("13.0")) | 
++(T 7) => MlyValue.STRING(fn () => (Vector.fromList [])) | 
++(T 8) => MlyValue.TYVAR(fn () => ("'a")) | 
++(T 9) => MlyValue.WORD(fn () => ({digits = "0", radix = StringCvt.DEC})) | 
++_ => MlyValue.VOID
++end
++val terms : term list = nil
++ $$ (T 79) $$ (T 78) $$ (T 77) $$ (T 76) $$ (T 75) $$ (T 74) $$ (T 73) $$ (T 72) $$ (T 71) $$ (T 70) $$ (T 69) $$ (T 68) $$ (T 67) $$ (T 66) $$ (T 65) $$ (T 64) $$ (T 63) $$ (T 62) $$ (T 61) $$ (T 60) $$ (T 59) $$ (T 58) $$ (T 57) $$ (T 56) $$ (T 55) $$ (T 54) $$ (T 53) $$ (T 52) $$ (T 51) $$ (T 50) $$ (T 49) $$ (T 48) $$ (T 47) $$ (T 46) $$ (T 45) $$ (T 44) $$ (T 43) $$ (T 42) $$ (T 41) $$ (T 40) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ (T 35) $$ (T 34) $$ (T 33) $$ (T 32) $$ (T 31) $$ (T 30) $$ (T 29) $$ (T 28) $$ (T 27) $$ (T 26) $$ (T 25) $$ (T 24) $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20) $$ (T 19) $$ (T 18) $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 14) $$ (T 13) $$ (T 12) $$ (T 11) $$ (T 10)end
++structure Actions =
++struct 
++exception mlyAction of int
++local open Header in
++val actions = 
++fn (i392,defaultPos,stack,
++    (()):arg) =>
++case (i392,stack)
++of  ( 0, ( ( _, ( MlyValue.expsAndTopdecs expsAndTopdecs1, expsAndTopdecs1left, expsAndTopdecs1right)) :: rest671)) => let val  result = MlyValue.program (fn _ => let val  (expsAndTopdecs as expsAndTopdecs1) = expsAndTopdecs1 ()
++ in ((*#line 477.26 "ml.grm"*)Program.T expsAndTopdecs(*#line 2289.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 83, ( result, expsAndTopdecs1left, expsAndTopdecs1right), rest671)
++end
++|  ( 1, ( ( _, ( MlyValue.expsAndTopdecs expsAndTopdecs1, _, expsAndTopdecs1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expsAndTopdecs (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (expsAndTopdecs as expsAndTopdecs1) = expsAndTopdecs1 ()
++ in ((*#line 480.35 "ml.grm"*)[Topdec.fromExp exp] :: expsAndTopdecs(*#line 2295.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 46, ( result, exp1left, expsAndTopdecs1right), rest671)
++end
++|  ( 2, ( ( _, ( MlyValue.topdecs topdecs1, topdecs1left, topdecs1right)) :: rest671)) => let val  result = MlyValue.expsAndTopdecs (fn _ => let val  (topdecs as topdecs1) = topdecs1 ()
++ in ((*#line 481.14 "ml.grm"*)topdecs(*#line 2302.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 46, ( result, topdecs1left, topdecs1right), rest671)
++end
++|  ( 3, ( rest671)) => let val  result = MlyValue.topdecs (fn _ => ((*#line 484.8 "ml.grm"*)[](*#line 2308.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 134, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 4, ( ( _, ( MlyValue.topdecs topdecs1, _, topdecs1right)) :: ( _, ( MlyValue.topdec topdec1, topdec1left, _)) :: rest671)) => let val  result = MlyValue.topdecs (fn _ => let val  (topdec as topdec1) = topdec1 ()
++ val  (topdecs as topdecs1) = topdecs1 ()
++ in ((*#line 485.21 "ml.grm"*)consTopdec (topdec, topdecs)(*#line 2312.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 134, ( result, topdec1left, topdecs1right), rest671)
++end
++|  ( 5, ( ( _, ( MlyValue.expsAndTopdecs expsAndTopdecs1, _, expsAndTopdecs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.topdecs (fn _ => let val  (expsAndTopdecs as expsAndTopdecs1) = expsAndTopdecs1 ()
++ in ((*#line 486.31 "ml.grm"*)[] :: expsAndTopdecs(*#line 2319.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 134, ( result, SEMICOLON1left, expsAndTopdecs1right), rest671)
++end
++|  ( 6, ( ( _, ( MlyValue.topdecnode topdecnode1, (topdecnodeleft as topdecnode1left), (topdecnoderight as topdecnode1right))) :: rest671)) => let val  result = MlyValue.topdec (fn _ => let val  (topdecnode as topdecnode1) = topdecnode1 ()
++ in ((*#line 488.22 "ml.grm"*)Topdec.makeRegion' (topdecnode,
++                                         topdecnodeleft,
++                                         topdecnoderight)(*#line 2325.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 132, ( result, topdecnode1left, topdecnode1right), rest671)
++end
++|  ( 7, ( ( _, ( MlyValue.strdec strdec1, strdec1left, strdec1right)) :: rest671)) => let val  result = MlyValue.topdecnode (fn _ => let val  (strdec as strdec1) = strdec1 ()
++ in ((*#line 494.7 "ml.grm"*)Topdec.Strdec strdec(*#line 2333.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 133, ( result, strdec1left, strdec1right), rest671)
++end
++|  ( 8, ( ( _, ( MlyValue.sigbinds sigbinds1, _, sigbinds1right)) :: ( _, ( _, SIGNATURE1left, _)) :: rest671)) => let val  result = MlyValue.topdecnode (fn _ => let val  (sigbinds as sigbinds1) = sigbinds1 ()
++ in ((*#line 496.7 "ml.grm"*)let
++         val sigbinds = Vector.fromList sigbinds
++         val d = Topdec.Signature sigbinds
++      in
++         d
++      end(*#line 2339.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 133, ( result, SIGNATURE1left, sigbinds1right), rest671)
++end
++|  ( 9, ( ( _, ( MlyValue.funbinds funbinds1, _, funbinds1right)) :: ( _, ( _, FUNCTOR1left, _)) :: rest671)) => let val  result = MlyValue.topdecnode (fn _ => let val  (funbinds as funbinds1) = funbinds1 ()
++ in ((*#line 503.7 "ml.grm"*)Topdec.Functor (Vector.fromList funbinds)(*#line 2350.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 133, ( result, FUNCTOR1left, funbinds1right), rest671)
++end
++|  ( 10, ( ( _, ( MlyValue.strdecsnode strdecsnode1, (strdecsnodeleft as strdecsnode1left), (strdecsnoderight as strdecsnode1right))) :: rest671)) => let val  result = MlyValue.strdecs (fn _ => let val  (strdecsnode as strdecsnode1) = strdecsnode1 ()
++ in ((*#line 509.24 "ml.grm"*)Strdec.makeRegion'
++                       (strdecsnode, strdecsnodeleft, strdecsnoderight)(*#line 2356.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 114, ( result, strdecsnode1left, strdecsnode1right), rest671)
++end
++|  ( 11, ( rest671)) => let val  result = MlyValue.strdecsnode (fn _ => ((*#line 512.35 "ml.grm"*)Strdec.Seq [](*#line 2363.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 115, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 12, ( ( _, ( MlyValue.strdecs strdecs1, _, strdecs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.strdecsnode (fn _ => let val  (strdecs as strdecs1) = strdecs1 ()
++ in ((*#line 513.35 "ml.grm"*)Strdec.Seq [strdecs](*#line 2367.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 115, ( result, SEMICOLON1left, strdecs1right), rest671)
++end
++|  ( 13, ( ( _, ( MlyValue.strdecs strdecs1, _, strdecs1right)) :: ( _, ( MlyValue.strdec strdec1, strdec1left, _)) :: rest671)) => let val  result = MlyValue.strdecsnode (fn _ => let val  (strdec as strdec1) = strdec1 ()
++ val  (strdecs as strdecs1) = strdecs1 ()
++ in ((*#line 514.35 "ml.grm"*)Strdec.Seq [strdec, strdecs](*#line 2373.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 115, ( result, strdec1left, strdecs1right), rest671)
++end
++|  ( 14, ( ( _, ( MlyValue.strdecnode strdecnode1, (strdecnodeleft as strdecnode1left), (strdecnoderight as strdecnode1right))) :: rest671)) => let val  result = MlyValue.strdec (fn _ => let val  (strdecnode as strdecnode1) = strdecnode1 ()
++ in ((*#line 516.22 "ml.grm"*)Strdec.makeRegion' (strdecnode,
++                                         strdecnodeleft, strdecnoderight)(*#line 2380.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 112, ( result, strdecnode1left, strdecnode1right), rest671)
++end
++|  ( 15, ( ( _, ( MlyValue.strbinds strbinds1, _, strbinds1right)) :: ( _, ( _, STRUCTURE1left, _)) :: rest671)) => let val  result = MlyValue.strdecnode (fn _ => let val  (strbinds as strbinds1) = strbinds1 ()
++ in ((*#line 521.7 "ml.grm"*)let
++         val strbinds = Vector.fromList strbinds
++         val d = Strdec.Structure strbinds
++      in
++         d
++      end(*#line 2387.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 113, ( result, STRUCTURE1left, strbinds1right), rest671)
++end
++|  ( 16, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.strdecs strdecs2, _, _)) :: _ :: ( _, ( MlyValue.strdecs strdecs1, _, _)) :: ( _, ( _, LOCAL1left, _)) :: rest671)) => let val  result = MlyValue.strdecnode (fn _ => let val  strdecs1 = strdecs1 ()
++ val  strdecs2 = strdecs2 ()
++ in ((*#line 527.37 "ml.grm"*)Strdec.Local (strdecs1, strdecs2)(*#line 2398.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 113, ( result, LOCAL1left, END1right), rest671)
++end
++|  ( 17, ( ( _, ( MlyValue.decnolocal decnolocal1, (decnolocalleft as decnolocal1left), (decnolocalright as decnolocal1right))) :: rest671)) => let val  result = MlyValue.strdecnode (fn _ => let val  (decnolocal as decnolocal1) = decnolocal1 ()
++ in ((*#line 529.7 "ml.grm"*)Strdec.Core (Dec.makeRegion' (decnolocal,
++                                    decnolocalleft, decnolocalright))(*#line 2405.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 113, ( result, decnolocal1left, decnolocal1right), rest671)
++end
++|  ( 18, ( ( _, ( MlyValue.SHOW_BASIS SHOW_BASIS1, SHOW_BASIS1left, SHOW_BASIS1right)) :: rest671)) => let val  result = MlyValue.strdecnode (fn _ => let val  (SHOW_BASIS as SHOW_BASIS1) = SHOW_BASIS1 ()
++ in ((*#line 531.37 "ml.grm"*)Strdec.ShowBasis SHOW_BASIS(*#line 2412.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 113, ( result, SHOW_BASIS1left, SHOW_BASIS1right), rest671)
++end
++|  ( 19, ( ( _, ( MlyValue.strbinds' strbinds'1, _, strbinds'1right)) :: _ :: ( _, ( MlyValue.sigconst sigconst1, _, _)) :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strbinds (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (sigconst as sigconst1) = sigconst1 ()
++ val  (strbinds' as strbinds'1) = strbinds'1 ()
++ in ((*#line 535.13 "ml.grm"*)let val (def,strbinds) = strbinds'
++            in {name = strid, def = def, constraint = sigconst}
++               :: strbinds
++            end(*#line 2418.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 107, ( result, strid1left, strbinds'1right), rest671)
++end
++|  ( 20, ( ( _, ( MlyValue.strbinds'1 strbinds'11, _, strbinds'11right)) :: ( _, ( MlyValue.strexp1 strexp11, strexp11left, _)) :: rest671)) => let val  result = MlyValue.strbinds' (fn _ => let val  (strexp1 as strexp11) = strexp11 ()
++ val  (strbinds'1 as strbinds'11) = strbinds'11 ()
++ in ((*#line 540.36 "ml.grm"*)augment1 (strexp1, strbinds'1)(*#line 2429.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 108, ( result, strexp11left, strbinds'11right), rest671)
++end
++|  ( 21, ( ( _, ( MlyValue.strbinds'2 strbinds'21, _, strbinds'21right)) :: ( _, ( MlyValue.strexp2 strexp21, strexp21left, _)) :: rest671)) => let val  result = MlyValue.strbinds' (fn _ => let val  (strexp2 as strexp21) = strexp21 ()
++ val  (strbinds'2 as strbinds'21) = strbinds'21 ()
++ in ((*#line 541.36 "ml.grm"*)(strexp2,strbinds'2)(*#line 2436.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 108, ( result, strexp21left, strbinds'21right), rest671)
++end
++|  ( 22, ( ( _, ( MlyValue.strbinds'2 strbinds'21, strbinds'21left, strbinds'21right)) :: rest671)) => let val  result = MlyValue.strbinds'1 (fn _ => let val  (strbinds'2 as strbinds'21) = strbinds'21 ()
++ in ((*#line 543.43 "ml.grm"*)([], strbinds'2)(*#line 2443.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 109, ( result, strbinds'21left, strbinds'21right), rest671)
++end
++|  ( 23, ( ( _, ( MlyValue.strbinds'1' strbinds'1'1, _, strbinds'1'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.strbinds'1 (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (strbinds'1' as strbinds'1'1) = strbinds'1'1 ()
++ in ((*#line 544.43 "ml.grm"*)cons1 (whereeqn WHEREleft, strbinds'1')(*#line 2449.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 109, ( result, WHERE1left, strbinds'1'1right), rest671)
++end
++|  ( 24, ( ( _, ( MlyValue.strbinds'1 strbinds'11, strbinds'11left, strbinds'11right)) :: rest671)) => let val  result = MlyValue.strbinds'1' (fn _ => let val  (strbinds'1 as strbinds'11) = strbinds'11 ()
++ in ((*#line 546.42 "ml.grm"*)strbinds'1(*#line 2456.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 110, ( result, strbinds'11left, strbinds'11right), rest671)
++end
++|  ( 25, ( ( _, ( MlyValue.strbinds'1' strbinds'1'1, _, strbinds'1'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.strbinds'1' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (strbinds'1' as strbinds'1'1) = strbinds'1'1 ()
++ in ((*#line 547.42 "ml.grm"*)cons1 (whereeqn ANDleft, strbinds'1')(*#line 2462.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 110, ( result, AND1left, strbinds'1'1right), rest671)
++end
++|  ( 26, ( rest671)) => let val  result = MlyValue.strbinds'2 (fn _ => ((*#line 549.29 "ml.grm"*)[](*#line 2469.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 111, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 27, ( ( _, ( MlyValue.strbinds strbinds1, _, strbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.strbinds'2 (fn _ => let val  (strbinds as strbinds1) = strbinds1 ()
++ in ((*#line 550.29 "ml.grm"*)strbinds(*#line 2473.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 111, ( result, AND1left, strbinds1right), rest671)
++end
++|  ( 28, ( ( _, ( MlyValue.strexpnode strexpnode1, (strexpnodeleft as strexpnode1left), (strexpnoderight as strexpnode1right))) :: rest671)) => let val  result = MlyValue.strexp (fn _ => let val  (strexpnode as strexpnode1) = strexpnode1 ()
++ in ((*#line 552.22 "ml.grm"*)Strexp.makeRegion' (strexpnode,
++                                         strexpnodeleft, strexpnoderight)(*#line 2479.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 119, ( result, strexpnode1left, strexpnode1right), rest671)
++end
++|  ( 29, ( ( _, ( MlyValue.strexp1 strexp11, strexp11left, strexp11right)) :: rest671)) => let val  result = MlyValue.strexpnode (fn _ => let val  (strexp1 as strexp11) = strexp11 ()
++ in ((*#line 557.6 "ml.grm"*)let
++        val (strexp, sigconst, sigexp) = strexp1
++     in
++        Strexp.Constrained (strexp, sigconst sigexp)
++     end(*#line 2486.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 123, ( result, strexp11left, strexp11right), rest671)
++end
++|  ( 30, ( ( _, ( MlyValue.whereeqns whereeqns1, _, whereeqns1right)) :: ( _, ( MlyValue.strexp1 strexp11, strexp11left, _)) :: rest671)) => let val  result = MlyValue.strexpnode (fn _ => let val  (strexp1 as strexp11) = strexp11 ()
++ val  (whereeqns as whereeqns1) = whereeqns1 ()
++ in ((*#line 563.6 "ml.grm"*)let
++        val (strexp,sigconst,sigexp) = strexp1
++        val sigexp = Sigexp.wheree (sigexp, whereeqns)
++     in
++        Strexp.Constrained
++        (strexp, sigconst sigexp)
++     end(*#line 2496.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 123, ( result, strexp11left, whereeqns1right), rest671)
++end
++|  ( 31, ( ( _, ( MlyValue.strexp2node strexp2node1, strexp2node1left, strexp2node1right)) :: rest671)) => let val  result = MlyValue.strexpnode (fn _ => let val  (strexp2node as strexp2node1) = strexp2node1 ()
++ in ((*#line 571.6 "ml.grm"*)strexp2node(*#line 2509.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 123, ( result, strexp2node1left, strexp2node1right), rest671)
++end
++|  ( 32, ( ( _, ( MlyValue.sigexp' sigexp'1, _, sigexp'1right)) :: _ :: ( _, ( MlyValue.strexp strexp1, strexp1left, _)) :: rest671)) => let val  result = MlyValue.strexp1 (fn _ => let val  (strexp as strexp1) = strexp1 ()
++ val  (sigexp' as sigexp'1) = sigexp'1 ()
++ in ((*#line 573.36 "ml.grm"*)(strexp,SigConst.Transparent,sigexp')(*#line 2515.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 120, ( result, strexp1left, sigexp'1right), rest671)
++end
++|  ( 33, ( ( _, ( MlyValue.sigexp' sigexp'1, _, sigexp'1right)) :: _ :: ( _, ( MlyValue.strexp strexp1, strexp1left, _)) :: rest671)) => let val  result = MlyValue.strexp1 (fn _ => let val  (strexp as strexp1) = strexp1 ()
++ val  (sigexp' as sigexp'1) = sigexp'1 ()
++ in ((*#line 574.36 "ml.grm"*)(strexp,SigConst.Opaque,sigexp')(*#line 2522.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 120, ( result, strexp1left, sigexp'1right), rest671)
++end
++|  ( 34, ( ( _, ( MlyValue.strexp2node strexp2node1, (strexp2nodeleft as strexp2node1left), (strexp2noderight as strexp2node1right))) :: rest671)) => let val  result = MlyValue.strexp2 (fn _ => let val  (strexp2node as strexp2node1) = strexp2node1 ()
++ in ((*#line 576.24 "ml.grm"*)Strexp.makeRegion'
++                       (strexp2node, strexp2nodeleft, strexp2noderight)(*#line 2529.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 121, ( result, strexp2node1left, strexp2node1right), rest671)
++end
++|  ( 35, ( ( _, ( MlyValue.longstrid longstrid1, longstrid1left, longstrid1right)) :: rest671)) => let val  result = MlyValue.strexp2node (fn _ => let val  (longstrid as longstrid1) = longstrid1 ()
++ in ((*#line 580.39 "ml.grm"*)Strexp.Var longstrid(*#line 2536.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 122, ( result, longstrid1left, longstrid1right), rest671)
++end
++|  ( 36, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.strdecs strdecs1, _, _)) :: ( _, ( _, STRUCT1left, _)) :: rest671)) => let val  result = MlyValue.strexp2node (fn _ => let val  (strdecs as strdecs1) = strdecs1 ()
++ in ((*#line 581.39 "ml.grm"*)Strexp.Struct strdecs(*#line 2542.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 122, ( result, STRUCT1left, END1right), rest671)
++end
++|  ( 37, ( ( _, ( MlyValue.arg_fct arg_fct1, _, arg_fct1right)) :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.strexp2node (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (arg_fct as arg_fct1) = arg_fct1 ()
++ in ((*#line 582.39 "ml.grm"*)Strexp.App (fctid, arg_fct)(*#line 2548.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 122, ( result, fctid1left, arg_fct1right), rest671)
++end
++|  ( 38, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.strexp strexp1, _, _)) :: _ :: ( _, ( MlyValue.strdecs strdecs1, _, _)) :: ( _, ( _, LET1left, _)) :: rest671)) => let val  result = MlyValue.strexp2node (fn _ => let val  (strdecs as strdecs1) = strdecs1 ()
++ val  (strexp as strexp1) = strexp1 ()
++ in ((*#line 583.39 "ml.grm"*)Strexp.Let (strdecs, strexp)(*#line 2555.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 122, ( result, LET1left, END1right), rest671)
++end
++|  ( 39, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, ( MlyValue.strexp strexp1, _, _)) :: ( _, ( _, (LPARENleft as LPAREN1left), _)) :: rest671)) => let val  result = MlyValue.arg_fct (fn _ => let val  (strexp as strexp1) = strexp1 ()
++ in ((*#line 585.35 "ml.grm"*)Strexp.makeRegion'
++                                  (Strexp.node strexp,
++                                   LPARENleft, RPARENright)(*#line 2562.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 5, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 40, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, ( MlyValue.strdecs strdecs1, _, _)) :: ( _, ( _, (LPARENleft as LPAREN1left), _)) :: rest671)) => let val  result = MlyValue.arg_fct (fn _ => let val  (strdecs as strdecs1) = strdecs1 ()
++ in ((*#line 588.35 "ml.grm"*)Strexp.makeRegion'
++                                  (Strexp.Struct strdecs,
++                                   LPARENleft, RPARENright)(*#line 2570.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 5, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 41, ( ( _, ( MlyValue.sigexp' sigexp'1, sigexp'1left, sigexp'1right)) :: rest671)) => let val  result = MlyValue.sigexp (fn _ => let val  (sigexp' as sigexp'1) = sigexp'1 ()
++ in ((*#line 597.25 "ml.grm"*)sigexp'(*#line 2578.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 98, ( result, sigexp'1left, sigexp'1right), rest671)
++end
++|  ( 42, ( ( _, ( MlyValue.whereeqns whereeqns1, _, whereeqns1right)) :: ( _, ( MlyValue.sigexp' sigexp'1, sigexp'1left, _)) :: rest671)) => let val  result = MlyValue.sigexp (fn _ => let val  (sigexp' as sigexp'1) = sigexp'1 ()
++ val  (whereeqns as whereeqns1) = whereeqns1 ()
++ in ((*#line 598.25 "ml.grm"*)Sigexp.wheree (sigexp', whereeqns)(*#line 2584.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 98, ( result, sigexp'1left, whereeqns1right), rest671)
++end
++|  ( 43, ( ( _, ( MlyValue.whereeqns' whereeqns'1, whereeqns'1left, whereeqns'1right)) :: rest671)) => let val  result = MlyValue.whereeqns (fn _ => let val  (whereeqns' as whereeqns'1) = whereeqns'1 ()
++ in ((*#line 600.25 "ml.grm"*)Vector.fromList whereeqns'(*#line 2591.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 160, ( result, whereeqns'1left, whereeqns'1right), rest671)
++end
++|  ( 44, ( ( _, ( MlyValue.whereeqn whereeqn1, _, whereeqn1right)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.whereeqns' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ in ((*#line 603.35 "ml.grm"*)[whereeqn WHEREleft](*#line 2597.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 161, ( result, WHERE1left, whereeqn1right), rest671)
++end
++|  ( 45, ( ( _, ( MlyValue.whereeqns' whereeqns'1, _, whereeqns'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.whereeqns' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (whereeqns' as whereeqns'1) = whereeqns'1 ()
++ in ((*#line 604.35 "ml.grm"*)whereeqn WHEREleft :: whereeqns'(*#line 2603.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 161, ( result, WHERE1left, whereeqns'1right), rest671)
++end
++|  ( 46, ( ( _, ( MlyValue.whereandeqns whereandeqns1, _, whereandeqns1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.whereeqns' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (whereandeqns as whereandeqns1) = whereandeqns1 ()
++ in ((*#line 605.35 "ml.grm"*)whereeqn WHEREleft :: whereandeqns(*#line 2610.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 161, ( result, WHERE1left, whereandeqns1right), rest671)
++end
++|  ( 47, ( ( _, ( MlyValue.whereeqn whereeqn1, _, whereeqn1right)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.whereandeqns (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ in ((*#line 608.33 "ml.grm"*)[whereeqn ANDleft](*#line 2617.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 158, ( result, AND1left, whereeqn1right), rest671)
++end
++|  ( 48, ( ( _, ( MlyValue.whereandeqns whereandeqns1, _, whereandeqns1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.whereandeqns (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (whereandeqns as whereandeqns1) = whereandeqns1 ()
++ in ((*#line 609.33 "ml.grm"*)whereeqn ANDleft :: whereandeqns(*#line 2623.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 158, ( result, AND1left, whereandeqns1right), rest671)
++end
++|  ( 49, ( ( _, ( MlyValue.whereeqns' whereeqns'1, _, whereeqns'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.whereandeqns (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (whereeqns' as whereeqns'1) = whereeqns'1 ()
++ in ((*#line 610.33 "ml.grm"*)whereeqn ANDleft :: whereeqns'(*#line 2630.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 158, ( result, AND1left, whereeqns'1right), rest671)
++end
++|  ( 50, ( ( _, ( MlyValue.sigbinds' sigbinds'1, _, sigbinds'1right)) :: ( _, ( MlyValue.sigexp' sigexp'1, _, _)) :: _ :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigexp' as sigexp'1) = sigexp'1 ()
++ val  (sigbinds' as sigbinds'1) = sigbinds'1 ()
++ in ((*#line 612.45 "ml.grm"*)augment (sigid, sigexp', sigbinds')(*#line 2637.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 94, ( result, sigid1left, sigbinds'1right), rest671)
++end
++|  ( 51, ( ( _, ( MlyValue.sigexp'node sigexp'node1, (sigexp'nodeleft as sigexp'node1left), (sigexp'noderight as sigexp'node1right))) :: rest671)) => let val  result = MlyValue.sigexp' (fn _ => let val  (sigexp'node as sigexp'node1) = sigexp'node1 ()
++ in ((*#line 614.24 "ml.grm"*)Sigexp.makeRegion' (sigexp'node,
++                                           sigexp'nodeleft,
++                                           sigexp'noderight)(*#line 2645.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 99, ( result, sigexp'node1left, sigexp'node1right), rest671)
++end
++|  ( 52, ( ( _, ( MlyValue.sigid sigid1, sigid1left, sigid1right)) :: rest671)) => let val  result = MlyValue.sigexp'node (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ in ((*#line 618.43 "ml.grm"*)Sigexp.Var sigid(*#line 2653.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 100, ( result, sigid1left, sigid1right), rest671)
++end
++|  ( 53, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.specs specs1, _, _)) :: ( _, ( _, SIG1left, _)) :: rest671)) => let val  result = MlyValue.sigexp'node (fn _ => let val  (specs as specs1) = specs1 ()
++ in ((*#line 619.43 "ml.grm"*)Sigexp.Spec specs(*#line 2659.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 100, ( result, SIG1left, END1right), rest671)
++end
++|  ( 54, ( rest671)) => let val  result = MlyValue.sigbinds' (fn _ => ((*#line 621.40 "ml.grm"*)([], [])(*#line 2665.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 95, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 55, ( ( _, ( MlyValue.sigbinds sigbinds1, _, sigbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds' (fn _ => let val  (sigbinds as sigbinds1) = sigbinds1 ()
++ in ((*#line 622.40 "ml.grm"*)([], sigbinds)(*#line 2669.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 95, ( result, AND1left, sigbinds1right), rest671)
++end
++|  ( 56, ( ( _, ( MlyValue.sigbinds'' sigbinds''1, _, sigbinds''1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.sigbinds' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (sigbinds'' as sigbinds''1) = sigbinds''1 ()
++ in ((*#line 623.40 "ml.grm"*)cons1 (whereeqn WHEREleft, sigbinds'')(*#line 2675.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 95, ( result, WHERE1left, sigbinds''1right), rest671)
++end
++|  ( 57, ( ( _, ( MlyValue.sigbinds' sigbinds'1, sigbinds'1left, sigbinds'1right)) :: rest671)) => let val  result = MlyValue.sigbinds'' (fn _ => let val  (sigbinds' as sigbinds'1) = sigbinds'1 ()
++ in ((*#line 625.40 "ml.grm"*)sigbinds'(*#line 2682.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 96, ( result, sigbinds'1left, sigbinds'1right), rest671)
++end
++|  ( 58, ( ( _, ( MlyValue.sigbinds'' sigbinds''1, _, sigbinds''1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.sigbinds'' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (sigbinds'' as sigbinds''1) = sigbinds''1 ()
++ in ((*#line 626.40 "ml.grm"*)cons1 (whereeqn ANDleft, sigbinds'')(*#line 2688.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 96, ( result, AND1left, sigbinds''1right), rest671)
++end
++|  ( 59, ( ( _, ( MlyValue.ty ty1, _, (tyright as ty1right))) :: _ :: ( _, ( MlyValue.longtycon longtycon1, _, _)) :: ( _, ( MlyValue.tyvars tyvars1, _, _)) :: ( _, ( _, TYPE1left, _)) :: rest671)) => let val  result = MlyValue.whereeqn (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (longtycon as longtycon1) = longtycon1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 628.48 "ml.grm"*)fn eqnleft =>
++                                               WhereEquation.makeRegion'
++                                               (WhereEquation.Type {tyvars = tyvars,
++                                                                    longtycon = longtycon,
++                                                                    ty = ty},
++                                                eqnleft,
++                                                tyright)(*#line 2695.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 159, ( result, TYPE1left, ty1right), rest671)
++end
++|  ( 60, ( rest671)) => let val  result = MlyValue.sigconst (fn _ => ((*#line 636.29 "ml.grm"*)SigConst.None(*#line 2709.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 97, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 61, ( ( _, ( MlyValue.sigexp sigexp1, _, sigexp1right)) :: ( _, ( _, COLON1left, _)) :: rest671)) => let val  result = MlyValue.sigconst (fn _ => let val  (sigexp as sigexp1) = sigexp1 ()
++ in ((*#line 637.29 "ml.grm"*)SigConst.Transparent sigexp(*#line 2713.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 97, ( result, COLON1left, sigexp1right), rest671)
++end
++|  ( 62, ( ( _, ( MlyValue.sigexp sigexp1, _, sigexp1right)) :: ( _, ( _, COLONGT1left, _)) :: rest671)) => let val  result = MlyValue.sigconst (fn _ => let val  (sigexp as sigexp1) = sigexp1 ()
++ in ((*#line 638.29 "ml.grm"*)SigConst.Opaque sigexp(*#line 2719.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 97, ( result, COLONGT1left, sigexp1right), rest671)
++end
++|  ( 63, ( rest671)) => let val  result = MlyValue.specs (fn _ => ((*#line 640.29 "ml.grm"*)Spec.makeRegion (Spec.Empty, Region.bogus)(*#line 2725.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 106, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 64, ( ( _, ( MlyValue.specs specs1, _, specs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.specs (fn _ => let val  (specs as specs1) = specs1 ()
++ in ((*#line 641.29 "ml.grm"*)specs(*#line 2729.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 106, ( result, SEMICOLON1left, specs1right), rest671)
++end
++|  ( 65, ( ( _, ( MlyValue.specs specs1, _, specs1right)) :: ( _, ( MlyValue.spec spec1, spec1left, _)) :: rest671)) => let val  result = MlyValue.specs (fn _ => let val  (spec as spec1) = spec1 ()
++ val  (specs as specs1) = specs1 ()
++ in ((*#line 642.29 "ml.grm"*)Spec.seq (spec, specs)(*#line 2735.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 106, ( result, spec1left, specs1right), rest671)
++end
++|  ( 66, ( ( _, ( MlyValue.specnode specnode1, (specnodeleft as specnode1left), (specnoderight as specnode1right))) :: rest671)) => let val  result = MlyValue.spec (fn _ => let val  (specnode as specnode1) = specnode1 ()
++ in ((*#line 644.18 "ml.grm"*)Spec.makeRegion' (specnode, specnodeleft, specnoderight)(*#line 2742.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 104, ( result, specnode1left, specnode1right), rest671)
++end
++|  ( 67, ( ( _, ( MlyValue.valdescs valdescs1, _, valdescs1right)) :: ( _, ( _, VAL1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (valdescs as valdescs1) = valdescs1 ()
++ in ((*#line 646.34 "ml.grm"*)Spec.Val (Vector.fromList valdescs)(*#line 2748.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, VAL1left, valdescs1right), rest671)
++end
++|  ( 68, ( ( _, ( MlyValue.typdescs typdescs1, _, typdescs1right)) :: ( _, ( _, TYPE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (typdescs as typdescs1) = typdescs1 ()
++ in ((*#line 647.34 "ml.grm"*)Spec.Type (Vector.fromList typdescs)(*#line 2754.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, TYPE1left, typdescs1right), rest671)
++end
++|  ( 69, ( ( _, ( MlyValue.typBind typBind1, _, typBind1right)) :: ( _, ( _, TYPE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (typBind as typBind1) = typBind1 ()
++ in ((*#line 648.34 "ml.grm"*)Spec.TypeDefs typBind(*#line 2760.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, TYPE1left, typBind1right), rest671)
++end
++|  ( 70, ( ( _, ( MlyValue.typdescs typdescs1, _, typdescs1right)) :: ( _, ( _, EQTYPE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (typdescs as typdescs1) = typdescs1 ()
++ in ((*#line 649.34 "ml.grm"*)Spec.Eqtype (Vector.fromList typdescs)(*#line 2766.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, EQTYPE1left, typdescs1right), rest671)
++end
++|  ( 71, ( ( _, ( MlyValue.datatypeRhs datatypeRhs1, _, datatypeRhs1right)) :: ( _, ( _, DATATYPE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (datatypeRhs as datatypeRhs1) = datatypeRhs1 ()
++ in ((*#line 650.34 "ml.grm"*)Spec.Datatype datatypeRhs(*#line 2772.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, DATATYPE1left, datatypeRhs1right), rest671)
++end
++|  ( 72, ( ( _, ( MlyValue.exndescs exndescs1, _, exndescs1right)) :: ( _, ( _, EXCEPTION1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (exndescs as exndescs1) = exndescs1 ()
++ in ((*#line 651.34 "ml.grm"*)Spec.Exception (Vector.fromList exndescs)(*#line 2778.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, EXCEPTION1left, exndescs1right), rest671)
++end
++|  ( 73, ( ( _, ( MlyValue.strdescs strdescs1, _, strdescs1right)) :: ( _, ( _, STRUCTURE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (strdescs as strdescs1) = strdescs1 ()
++ in ((*#line 652.34 "ml.grm"*)Spec.Structure (Vector.fromList strdescs)(*#line 2784.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, STRUCTURE1left, strdescs1right), rest671)
++end
++|  ( 74, ( ( _, ( MlyValue.sigexp sigexp1, _, sigexp1right)) :: ( _, ( _, INCLUDE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (sigexp as sigexp1) = sigexp1 ()
++ in ((*#line 653.34 "ml.grm"*)Spec.IncludeSigexp sigexp(*#line 2790.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, INCLUDE1left, sigexp1right), rest671)
++end
++|  ( 75, ( ( _, ( MlyValue.sigids sigids1, _, sigids1right)) :: ( _, ( MlyValue.sigid sigid1, _, _)) :: ( _, ( _, INCLUDE1left, _)) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigids as sigids1) = sigids1 ()
++ in ((*#line 655.13 "ml.grm"*)Spec.IncludeSigids (Vector.fromList (sigid :: sigids)) (*#line 2796.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, INCLUDE1left, sigids1right), rest671)
++end
++|  ( 76, ( ( _, ( MlyValue.sharespec sharespec1, (sharespecleft as sharespec1left), (sharespecright as sharespec1right))) :: rest671)) => let val  result = MlyValue.specnode (fn _ => let val  (sharespec as sharespec1) = sharespec1 ()
++ in ((*#line 657.13 "ml.grm"*)Spec.Sharing {spec = Spec.makeRegion' (Spec.Empty,
++                                                   sharespecleft,
++                                                   sharespecright),
++                          equation = (SharingEquation.makeRegion'
++                                      (sharespec,
++                                       sharespecleft,
++                                       sharespecright))}(*#line 2803.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 105, ( result, sharespec1left, sharespec1right), rest671)
++end
++|  ( 77, ( ( _, ( MlyValue.longtyconeqns longtyconeqns1, _, longtyconeqns1right)) :: _ :: ( _, ( _, SHARING1left, _)) :: rest671)) => let val  result = MlyValue.sharespec (fn _ => let val  (longtyconeqns as longtyconeqns1) = longtyconeqns1 ()
++ in ((*#line 665.41 "ml.grm"*)SharingEquation.Type longtyconeqns(*#line 2815.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 91, ( result, SHARING1left, longtyconeqns1right), rest671)
++end
++|  ( 78, ( ( _, ( MlyValue.longstrideqns longstrideqns1, _, longstrideqns1right)) :: ( _, ( _, SHARING1left, _)) :: rest671)) => let val  result = MlyValue.sharespec (fn _ => let val  (longstrideqns as longstrideqns1) = longstrideqns1 ()
++ in ((*#line 666.41 "ml.grm"*)SharingEquation.Structure longstrideqns(*#line 2821.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 91, ( result, SHARING1left, longstrideqns1right), rest671)
++end
++|  ( 79, ( ( _, ( MlyValue.longstrid longstrid2, _, longstrid2right)) :: _ :: ( _, ( MlyValue.longstrid longstrid1, longstrid1left, _)) :: rest671)) => let val  result = MlyValue.longstrideqns (fn _ => let val  longstrid1 = longstrid1 ()
++ val  longstrid2 = longstrid2 ()
++ in ((*#line 668.46 "ml.grm"*)[longstrid1,longstrid2](*#line 2827.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 63, ( result, longstrid1left, longstrid2right), rest671)
++end
++|  ( 80, ( ( _, ( MlyValue.longstrideqns longstrideqns1, _, longstrideqns1right)) :: _ :: ( _, ( MlyValue.longstrid longstrid1, longstrid1left, _)) :: rest671)) => let val  result = MlyValue.longstrideqns (fn _ => let val  (longstrid as longstrid1) = longstrid1 ()
++ val  (longstrideqns as longstrideqns1) = longstrideqns1 ()
++ in ((*#line 669.50 "ml.grm"*)longstrid :: longstrideqns(*#line 2834.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 63, ( result, longstrid1left, longstrideqns1right), rest671)
++end
++|  ( 81, ( ( _, ( MlyValue.longtycon longtycon2, _, longtycon2right)) :: _ :: ( _, ( MlyValue.longtycon longtycon1, longtycon1left, _)) :: rest671)) => let val  result = MlyValue.longtyconeqns (fn _ => let val  longtycon1 = longtycon1 ()
++ val  longtycon2 = longtycon2 ()
++ in ((*#line 671.46 "ml.grm"*)[longtycon1,longtycon2](*#line 2841.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 66, ( result, longtycon1left, longtycon2right), rest671)
++end
++|  ( 82, ( ( _, ( MlyValue.longtyconeqns longtyconeqns1, _, longtyconeqns1right)) :: _ :: ( _, ( MlyValue.longtycon longtycon1, longtycon1left, _)) :: rest671)) => let val  result = MlyValue.longtyconeqns (fn _ => let val  (longtycon as longtycon1) = longtycon1 ()
++ val  (longtyconeqns as longtyconeqns1) = longtyconeqns1 ()
++ in ((*#line 672.50 "ml.grm"*)longtycon :: longtyconeqns(*#line 2848.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 66, ( result, longtycon1left, longtyconeqns1right), rest671)
++end
++|  ( 83, ( ( _, ( MlyValue.strdescs' strdescs'1, _, strdescs'1right)) :: ( _, ( MlyValue.sigexp' sigexp'1, _, _)) :: _ :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strdescs (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (sigexp' as sigexp'1) = sigexp'1 ()
++ val  (strdescs' as strdescs'1) = strdescs'1 ()
++ in ((*#line 674.44 "ml.grm"*)augment (strid, sigexp', strdescs')(*#line 2855.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 116, ( result, strid1left, strdescs'1right), rest671)
++end
++|  ( 84, ( rest671)) => let val  result = MlyValue.strdescs' (fn _ => ((*#line 676.41 "ml.grm"*)([], [])(*#line 2863.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 117, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 85, ( ( _, ( MlyValue.strdescs strdescs1, _, strdescs1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.strdescs' (fn _ => let val  (strdescs as strdescs1) = strdescs1 ()
++ in ((*#line 677.41 "ml.grm"*)([], strdescs)(*#line 2867.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 117, ( result, AND1left, strdescs1right), rest671)
++end
++|  ( 86, ( ( _, ( MlyValue.strdescs'' strdescs''1, _, strdescs''1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.strdescs' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (strdescs'' as strdescs''1) = strdescs''1 ()
++ in ((*#line 678.41 "ml.grm"*)cons1 (whereeqn WHEREleft, strdescs'')(*#line 2873.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 117, ( result, WHERE1left, strdescs''1right), rest671)
++end
++|  ( 87, ( ( _, ( MlyValue.strdescs' strdescs'1, strdescs'1left, strdescs'1right)) :: rest671)) => let val  result = MlyValue.strdescs'' (fn _ => let val  (strdescs' as strdescs'1) = strdescs'1 ()
++ in ((*#line 680.40 "ml.grm"*)strdescs'(*#line 2880.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 118, ( result, strdescs'1left, strdescs'1right), rest671)
++end
++|  ( 88, ( ( _, ( MlyValue.strdescs'' strdescs''1, _, strdescs''1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.strdescs'' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (strdescs'' as strdescs''1) = strdescs''1 ()
++ in ((*#line 681.40 "ml.grm"*)cons1 (whereeqn ANDleft, strdescs'')(*#line 2886.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 118, ( result, AND1left, strdescs''1right), rest671)
++end
++|  ( 89, ( ( _, ( MlyValue.typdesc typdesc1, typdesc1left, typdesc1right)) :: rest671)) => let val  result = MlyValue.typdescs (fn _ => let val  (typdesc as typdesc1) = typdesc1 ()
++ in ((*#line 683.35 "ml.grm"*)[typdesc](*#line 2893.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 145, ( result, typdesc1left, typdesc1right), rest671)
++end
++|  ( 90, ( ( _, ( MlyValue.typdescs typdescs1, _, typdescs1right)) :: _ :: ( _, ( MlyValue.typdesc typdesc1, typdesc1left, _)) :: rest671)) => let val  result = MlyValue.typdescs (fn _ => let val  (typdesc as typdesc1) = typdesc1 ()
++ val  (typdescs as typdescs1) = typdescs1 ()
++ in ((*#line 684.35 "ml.grm"*)typdesc :: typdescs(*#line 2899.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 145, ( result, typdesc1left, typdescs1right), rest671)
++end
++|  ( 91, ( ( _, ( MlyValue.tycon tycon1, _, tycon1right)) :: ( _, ( MlyValue.tyvars tyvars1, tyvars1left, _)) :: rest671)) => let val  result = MlyValue.typdesc (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (tycon as tycon1) = tycon1 ()
++ in ((*#line 686.25 "ml.grm"*){tyvars = tyvars,
++                         tycon = tycon}(*#line 2906.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 144, ( result, tyvars1left, tycon1right), rest671)
++end
++|  ( 92, ( ( _, ( MlyValue.valdesc valdesc1, valdesc1left, valdesc1right)) :: rest671)) => let val  result = MlyValue.valdescs (fn _ => let val  (valdesc as valdesc1) = valdesc1 ()
++ in ((*#line 689.36 "ml.grm"*)[valdesc](*#line 2914.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 153, ( result, valdesc1left, valdesc1right), rest671)
++end
++|  ( 93, ( ( _, ( MlyValue.valdescs valdescs1, _, valdescs1right)) :: _ :: ( _, ( MlyValue.valdesc valdesc1, valdesc1left, _)) :: rest671)) => let val  result = MlyValue.valdescs (fn _ => let val  (valdesc as valdesc1) = valdesc1 ()
++ val  (valdescs as valdescs1) = valdescs1 ()
++ in ((*#line 690.36 "ml.grm"*)valdesc :: valdescs(*#line 2920.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 153, ( result, valdesc1left, valdescs1right), rest671)
++end
++|  ( 94, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.vid vid1, vid1left, _)) :: rest671)) => let val  result = MlyValue.valdesc (fn _ => let val  (vid as vid1) = vid1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 692.26 "ml.grm"*)Vid.toVar vid, ty(*#line 2927.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 152, ( result, vid1left, ty1right), rest671)
++end
++|  ( 95, ( ( _, ( MlyValue.exndesc exndesc1, exndesc1left, exndesc1right)) :: rest671)) => let val  result = MlyValue.exndescs (fn _ => let val  (exndesc as exndesc1) = exndesc1 ()
++ in ((*#line 694.36 "ml.grm"*)[exndesc](*#line 2934.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 40, ( result, exndesc1left, exndesc1right), rest671)
++end
++|  ( 96, ( ( _, ( MlyValue.exndescs exndescs1, _, exndescs1right)) :: _ :: ( _, ( MlyValue.exndesc exndesc1, exndesc1left, _)) :: rest671)) => let val  result = MlyValue.exndescs (fn _ => let val  (exndesc as exndesc1) = exndesc1 ()
++ val  (exndescs as exndescs1) = exndescs1 ()
++ in ((*#line 695.36 "ml.grm"*)exndesc :: exndescs(*#line 2940.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 40, ( result, exndesc1left, exndescs1right), rest671)
++end
++|  ( 97, ( ( _, ( MlyValue.tyOpt tyOpt1, _, tyOpt1right)) :: ( _, ( MlyValue.con con1, con1left, _)) :: rest671)) => let val  result = MlyValue.exndesc (fn _ => let val  (con as con1) = con1 ()
++ val  (tyOpt as tyOpt1) = tyOpt1 ()
++ in ((*#line 697.23 "ml.grm"*)con, tyOpt(*#line 2947.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 39, ( result, con1left, tyOpt1right), rest671)
++end
++|  ( 98, ( rest671)) => let val  result = MlyValue.tyOpt (fn _ => ((*#line 699.18 "ml.grm"*)NONE(*#line 2954.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 140, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 99, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: ( _, ( _, OF1left, _)) :: rest671)) => let val  result = MlyValue.tyOpt (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 700.18 "ml.grm"*)SOME ty(*#line 2958.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 140, ( result, OF1left, ty1right), rest671)
++end
++|  ( 100, ( ( _, ( MlyValue.funbinds' funbinds'1, _, funbinds'1right)) :: _ :: ( _, ( MlyValue.sigconst sigconst1, _, _)) :: _ :: ( _, ( MlyValue.fctarg fctarg1, fctargleft, fctargright)) :: _ :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.funbinds (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (fctarg as fctarg1) = fctarg1 ()
++ val  (sigconst as sigconst1) = sigconst1 ()
++ val  (funbinds' as funbinds'1) = funbinds'1 ()
++ in ((*#line 707.13 "ml.grm"*)let val (strexp,funbinds) = funbinds'
++            in {name = fctid,
++                arg = FctArg.makeRegion' (fctarg, fctargleft, fctargright),
++                result = sigconst,
++                body = strexp}
++               :: funbinds
++            end(*#line 2964.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 51, ( result, fctid1left, funbinds'1right), rest671)
++end
++|  ( 101, ( ( _, ( MlyValue.funbinds'1 funbinds'11, _, funbinds'11right)) :: ( _, ( MlyValue.strexp1 strexp11, strexp11left, _)) :: rest671)) => let val  result = MlyValue.funbinds' (fn _ => let val  (strexp1 as strexp11) = strexp11 ()
++ val  (funbinds'1 as funbinds'11) = funbinds'11 ()
++ in ((*#line 715.34 "ml.grm"*)augment1 (strexp1, funbinds'1)(*#line 2979.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 52, ( result, strexp11left, funbinds'11right), rest671)
++end
++|  ( 102, ( ( _, ( MlyValue.funbinds'2 funbinds'21, _, funbinds'21right)) :: ( _, ( MlyValue.strexp2 strexp21, strexp21left, _)) :: rest671)) => let val  result = MlyValue.funbinds' (fn _ => let val  (strexp2 as strexp21) = strexp21 ()
++ val  (funbinds'2 as funbinds'21) = funbinds'21 ()
++ in ((*#line 716.34 "ml.grm"*)(strexp2, funbinds'2)(*#line 2986.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 52, ( result, strexp21left, funbinds'21right), rest671)
++end
++|  ( 103, ( ( _, ( MlyValue.funbinds'2 funbinds'21, funbinds'21left, funbinds'21right)) :: rest671)) => let val  result = MlyValue.funbinds'1 (fn _ => let val  (funbinds'2 as funbinds'21) = funbinds'21 ()
++ in ((*#line 718.43 "ml.grm"*)[], funbinds'2(*#line 2993.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 53, ( result, funbinds'21left, funbinds'21right), rest671)
++end
++|  ( 104, ( ( _, ( MlyValue.funbinds'1' funbinds'1'1, _, funbinds'1'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (WHEREleft as WHERE1left), _)) :: rest671)) => let val  result = MlyValue.funbinds'1 (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (funbinds'1' as funbinds'1'1) = funbinds'1'1 ()
++ in ((*#line 719.43 "ml.grm"*)cons1 (whereeqn WHEREleft, funbinds'1')(*#line 2999.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 53, ( result, WHERE1left, funbinds'1'1right), rest671)
++end
++|  ( 105, ( rest671)) => let val  result = MlyValue.funbinds'2 (fn _ => ((*#line 721.29 "ml.grm"*)[](*#line 3006.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 55, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 106, ( ( _, ( MlyValue.funbinds funbinds1, _, funbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.funbinds'2 (fn _ => let val  (funbinds as funbinds1) = funbinds1 ()
++ in ((*#line 722.29 "ml.grm"*)funbinds(*#line 3010.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 55, ( result, AND1left, funbinds1right), rest671)
++end
++|  ( 107, ( ( _, ( MlyValue.funbinds'1 funbinds'11, funbinds'11left, funbinds'11right)) :: rest671)) => let val  result = MlyValue.funbinds'1' (fn _ => let val  (funbinds'1 as funbinds'11) = funbinds'11 ()
++ in ((*#line 724.42 "ml.grm"*)funbinds'1(*#line 3016.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 54, ( result, funbinds'11left, funbinds'11right), rest671)
++end
++|  ( 108, ( ( _, ( MlyValue.funbinds'1' funbinds'1'1, _, funbinds'1'1right)) :: ( _, ( MlyValue.whereeqn whereeqn1, _, _)) :: ( _, ( _, (ANDleft as AND1left), _)) :: rest671)) => let val  result = MlyValue.funbinds'1' (fn _ => let val  (whereeqn as whereeqn1) = whereeqn1 ()
++ val  (funbinds'1' as funbinds'1'1) = funbinds'1'1 ()
++ in ((*#line 725.42 "ml.grm"*)cons1 (whereeqn ANDleft, funbinds'1')(*#line 3022.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 54, ( result, AND1left, funbinds'1'1right), rest671)
++end
++|  ( 109, ( ( _, ( MlyValue.sigexp sigexp1, _, sigexp1right)) :: _ :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.fctarg (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (sigexp as sigexp1) = sigexp1 ()
++ in ((*#line 727.31 "ml.grm"*)FctArg.Structure (strid, sigexp)(*#line 3029.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 47, ( result, strid1left, sigexp1right), rest671)
++end
++|  ( 110, ( ( _, ( MlyValue.specs specs1, specs1left, specs1right)) :: rest671)) => let val  result = MlyValue.fctarg (fn _ => let val  (specs as specs1) = specs1 ()
++ in ((*#line 728.31 "ml.grm"*)FctArg.Spec specs(*#line 3036.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 47, ( result, specs1left, specs1right), rest671)
++end
++|  ( 111, ( rest671)) => let val  result = MlyValue.decs (fn _ => ((*#line 734.26 "ml.grm"*)Dec.makeRegion' (Dec.SeqDec (Vector.new0 ()),
++                                          defaultPos, defaultPos)(*#line 3042.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 30, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 112, ( ( _, ( MlyValue.decs decs1, _, decs1right)) :: ( _, ( MlyValue.dec dec1, dec1left, _)) :: rest671)) => let val  result = MlyValue.decs (fn _ => let val  (dec as dec1) = dec1 ()
++ val  (decs as decs1) = decs1 ()
++ in ((*#line 736.26 "ml.grm"*)Dec.sequence (dec,decs)(*#line 3047.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 30, ( result, dec1left, decs1right), rest671)
++end
++|  ( 113, ( ( _, ( MlyValue.decs decs1, _, decs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.decs (fn _ => let val  (decs as decs1) = decs1 ()
++ in ((*#line 737.26 "ml.grm"*)decs(*#line 3054.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 30, ( result, SEMICOLON1left, decs1right), rest671)
++end
++|  ( 114, ( ( _, ( MlyValue.decnode decnode1, (decnodeleft as decnode1left), (decnoderight as decnode1right))) :: rest671)) => let val  result = MlyValue.dec (fn _ => let val  (decnode as decnode1) = decnode1 ()
++ in ((*#line 739.16 "ml.grm"*)Dec.makeRegion' (decnode, decnodeleft, decnoderight)(*#line 3060.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 27, ( result, decnode1left, decnode1right), rest671)
++end
++|  ( 115, ( ( _, ( MlyValue.decnolocal decnolocal1, decnolocal1left, decnolocal1right)) :: rest671)) => let val  result = MlyValue.decnode (fn _ => let val  (decnolocal as decnolocal1) = decnolocal1 ()
++ in ((*#line 741.36 "ml.grm"*)decnolocal(*#line 3066.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 28, ( result, decnolocal1left, decnolocal1right), rest671)
++end
++|  ( 116, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.decs decs2, _, _)) :: _ :: ( _, ( MlyValue.decs decs1, _, _)) :: ( _, ( _, LOCAL1left, _)) :: rest671)) => let val  result = MlyValue.decnode (fn _ => let val  decs1 = decs1 ()
++ val  decs2 = decs2 ()
++ in ((*#line 742.36 "ml.grm"*)Dec.Local (decs1,decs2)(*#line 3072.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 28, ( result, LOCAL1left, END1right), rest671)
++end
++|  ( 117, ( ( _, ( MlyValue.valbindTop valbindTop1, _, valbindTop1right)) :: ( _, ( _, VAL1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (valbindTop as valbindTop1) = valbindTop1 ()
++ in ((*#line 745.36 "ml.grm"*)Dec.Val {tyvars = Vector.new0 (),
++                                            vbs = #1 valbindTop,
++                                            rvbs = #2 valbindTop}(*#line 3079.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, VAL1left, valbindTop1right), rest671)
++end
++|  ( 118, ( ( _, ( MlyValue.valbindTop valbindTop1, _, valbindTop1right)) :: ( _, ( MlyValue.tyvarseq tyvarseq1, _, _)) :: ( _, ( _, VAL1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (tyvarseq as tyvarseq1) = tyvarseq1 ()
++ val  (valbindTop as valbindTop1) = valbindTop1 ()
++ in ((*#line 748.37 "ml.grm"*)Dec.Val {tyvars = tyvarseq,
++                                             vbs = #1 valbindTop,
++                                             rvbs = #2 valbindTop}(*#line 3087.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, VAL1left, valbindTop1right), rest671)
++end
++|  ( 119, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: ( _, ( _, DO1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (exp as exp1) = exp1 ()
++ in ((*#line 751.34 "ml.grm"*)Dec.DoDec exp(*#line 3096.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, DO1left, exp1right), rest671)
++end
++|  ( 120, ( ( _, ( MlyValue.funs funs1, _, funs1right)) :: ( _, ( _, FUN1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (funs as funs1) = funs1 ()
++ in ((*#line 752.34 "ml.grm"*)Dec.Fun {tyvars = Vector.new0 (), fbs = Vector.fromList funs}(*#line 3102.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, FUN1left, funs1right), rest671)
++end
++|  ( 121, ( ( _, ( MlyValue.funs funs1, _, funs1right)) :: ( _, ( MlyValue.tyvarseq tyvarseq1, _, _)) :: ( _, ( _, FUN1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (tyvarseq as tyvarseq1) = tyvarseq1 ()
++ val  (funs as funs1) = funs1 ()
++ in ((*#line 753.34 "ml.grm"*)Dec.Fun {tyvars = tyvarseq, fbs = Vector.fromList funs}(*#line 3108.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, FUN1left, funs1right), rest671)
++end
++|  ( 122, ( ( _, ( MlyValue.typBind typBind1, _, typBind1right)) :: ( _, ( _, TYPE1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (typBind as typBind1) = typBind1 ()
++ in ((*#line 754.34 "ml.grm"*)Dec.Type typBind(*#line 3115.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, TYPE1left, typBind1right), rest671)
++end
++|  ( 123, ( ( _, ( MlyValue.datatypeRhs datatypeRhs1, _, datatypeRhs1right)) :: ( _, ( _, DATATYPE1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (datatypeRhs as datatypeRhs1) = datatypeRhs1 ()
++ in ((*#line 755.34 "ml.grm"*)Dec.Datatype datatypeRhs(*#line 3121.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, DATATYPE1left, datatypeRhs1right), rest671)
++end
++|  ( 124, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.decs decs1, _, _)) :: _ :: ( _, ( MlyValue.datBind datBind1, _, _)) :: ( _, ( _, ABSTYPE1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (datBind as datBind1) = datBind1 ()
++ val  (decs as decs1) = decs1 ()
++ in ((*#line 756.44 "ml.grm"*)Dec.Abstype {datBind = datBind,
++                                                        body = decs}(*#line 3127.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, ABSTYPE1left, END1right), rest671)
++end
++|  ( 125, ( ( _, ( MlyValue.ebs ebs1, _, ebs1right)) :: ( _, ( _, EXCEPTION1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (ebs as ebs1) = ebs1 ()
++ in ((*#line 758.34 "ml.grm"*)Dec.Exception (Vector.fromList ebs)(*#line 3135.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, EXCEPTION1left, ebs1right), rest671)
++end
++|  ( 126, ( ( _, ( MlyValue.longstrids longstrids1, _, longstrids1right)) :: ( _, ( _, OPEN1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (longstrids as longstrids1) = longstrids1 ()
++ in ((*#line 759.34 "ml.grm"*)Dec.Open (Vector.fromList longstrids)(*#line 3141.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, OPEN1left, longstrids1right), rest671)
++end
++|  ( 127, ( ( _, ( MlyValue.vids vids1, _, vids1right)) :: ( _, ( MlyValue.fixity fixity1, fixity1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (fixity as fixity1) = fixity1 ()
++ val  (vids as vids1) = vids1 ()
++ in ((*#line 760.34 "ml.grm"*)Dec.Fix {fixity = fixity,
++                                          ops = Vector.fromList vids}(*#line 3147.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, fixity1left, vids1right), rest671)
++end
++|  ( 128, ( ( _, ( MlyValue.longvidands longvidands1, _, longvidands1right)) :: _ :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.vid vid1, _, _)) :: ( _, ( MlyValue.priority priority1, _, _)) :: ( _, ( _, OVERLOAD1left, _)) :: rest671)) => let val  result = MlyValue.decnolocal (fn _ => let val  (priority as priority1) = priority1 ()
++ val  (vid as vid1) = vid1 ()
++ val  (ty as ty1) = ty1 ()
++ val  (longvidands as longvidands1) = longvidands1 ()
++ in ((*#line 763.34 "ml.grm"*)Dec.Overload (priority, 
++                                               Vid.toVar vid,
++                                               Vector.new0 (),
++                                               ty,
++                                               Vector.fromList longvidands)(*#line 3155.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 29, ( result, OVERLOAD1left, longvidands1right), rest671)
++end
++|  ( 129, ( ( _, ( MlyValue.valbind valbind1, valbind1left, valbind1right)) :: rest671)) => let val  result = MlyValue.valbindTop (fn _ => let val  (valbind as valbind1) = valbind1 ()
++ in ((*#line 769.23 "ml.grm"*)let
++                         val (vbs, rvbs) = valbind
++                      in
++                         (Vector.fromList vbs,
++                          Vector.fromList rvbs)
++                      end(*#line 3168.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 151, ( result, valbind1left, valbind1right), rest671)
++end
++|  ( 130, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.valbind (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (exp as exp1) = exp1 ()
++ in ((*#line 777.15 "ml.grm"*)([{pat = pat, exp = exp}], [])(*#line 3179.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 150, ( result, pat1left, exp1right), rest671)
++end
++|  ( 131, ( ( _, ( MlyValue.valbind valbind1, _, valbind1right)) :: _ :: ( _, ( MlyValue.exp exp1, _, _)) :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.valbind (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (exp as exp1) = exp1 ()
++ val  (valbind as valbind1) = valbind1 ()
++ in ((*#line 779.15 "ml.grm"*)let
++                 val (vbs, rvbs) = valbind
++              in
++                 ({pat = pat, exp = exp} :: vbs,
++                  rvbs)
++              end(*#line 3186.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 150, ( result, pat1left, valbind1right), rest671)
++end
++|  ( 132, ( ( _, ( MlyValue.rvalbind rvalbind1, _, rvalbind1right)) :: ( _, ( _, REC1left, _)) :: rest671)) => let val  result = MlyValue.valbind (fn _ => let val  (rvalbind as rvalbind1) = rvalbind1 ()
++ in ((*#line 785.41 "ml.grm"*)([], rvalbind)(*#line 3199.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 150, ( result, REC1left, rvalbind1right), rest671)
++end
++|  ( 133, ( ( _, ( MlyValue.rvalbind rvalbind1, _, rvalbind1right)) :: ( _, ( _, REC1left, _)) :: rest671)) => let val  result = MlyValue.rvalbind (fn _ => let val  (rvalbind as rvalbind1) = rvalbind1 ()
++ in ((*#line 787.41 "ml.grm"*)rvalbind(*#line 3205.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 87, ( result, REC1left, rvalbind1right), rest671)
++end
++|  ( 134, ( ( _, ( MlyValue.match match1, _, match1right)) :: _ :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.rvalbind (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (match as match1) = match1 ()
++ in ((*#line 789.15 "ml.grm"*)[{pat = pat, match = match}](*#line 3211.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 87, ( result, pat1left, match1right), rest671)
++end
++|  ( 135, ( ( _, ( MlyValue.rvalbind rvalbind1, _, rvalbind1right)) :: _ :: ( _, ( MlyValue.match match1, _, _)) :: _ :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.rvalbind (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (match as match1) = match1 ()
++ val  (rvalbind as rvalbind1) = rvalbind1 ()
++ in ((*#line 791.15 "ml.grm"*){pat = pat, match = match} :: rvalbind(*#line 3218.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 87, ( result, pat1left, rvalbind1right), rest671)
++end
++|  ( 136, ( rest671)) => let val  result = MlyValue.constraint (fn _ => ((*#line 793.34 "ml.grm"*)NONE(*#line 3226.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 16, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 137, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: ( _, ( _, COLON1left, _)) :: rest671)) => let val  result = MlyValue.constraint (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 794.34 "ml.grm"*)SOME ty(*#line 3230.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, COLON1left, ty1right), rest671)
++end
++|  ( 138, ( ( _, ( MlyValue.clausesTop clausesTop1, clausesTop1left, clausesTop1right)) :: rest671)) => let val  result = MlyValue.funs (fn _ => let val  (clausesTop as clausesTop1) = clausesTop1 ()
++ in ((*#line 796.37 "ml.grm"*)[clausesTop](*#line 3236.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 56, ( result, clausesTop1left, clausesTop1right), rest671)
++end
++|  ( 139, ( ( _, ( MlyValue.funs funs1, _, funs1right)) :: _ :: ( _, ( MlyValue.clausesTop clausesTop1, clausesTop1left, _)) :: rest671)) => let val  result = MlyValue.funs (fn _ => let val  (clausesTop as clausesTop1) = clausesTop1 ()
++ val  (funs as funs1) = funs1 ()
++ in ((*#line 797.37 "ml.grm"*)clausesTop :: funs(*#line 3242.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 56, ( result, clausesTop1left, funs1right), rest671)
++end
++|  ( 140, ( ( _, ( MlyValue.clauses clauses1, clauses1left, clauses1right)) :: rest671)) => let val  result = MlyValue.clausesTop (fn _ => let val  (clauses as clauses1) = clauses1 ()
++ in ((*#line 799.22 "ml.grm"*)Vector.fromList clauses(*#line 3249.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, clauses1left, clauses1right), rest671)
++end
++|  ( 141, ( ( _, ( MlyValue.clauses clauses1, _, clauses1right)) :: ( _, ( MlyValue.optbar' optbar'1, optbar'1left, _)) :: rest671)) => let val  result = MlyValue.clausesTop (fn _ => let val  optbar'1 = optbar'1 ()
++ val  (clauses as clauses1) = clauses1 ()
++ in ((*#line 800.30 "ml.grm"*)Vector.fromList clauses(*#line 3255.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, optbar'1left, clauses1right), rest671)
++end
++|  ( 142, ( ( _, ( MlyValue.clause clause1, clause1left, clause1right)) :: rest671)) => let val  result = MlyValue.clauses (fn _ => let val  (clause as clause1) = clause1 ()
++ in ((*#line 802.34 "ml.grm"*)[clause](*#line 3262.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, clause1left, clause1right), rest671)
++end
++|  ( 143, ( ( _, ( MlyValue.clauses clauses1, _, clauses1right)) :: _ :: ( _, ( MlyValue.clause clause1, clause1left, _)) :: rest671)) => let val  result = MlyValue.clauses (fn _ => let val  (clause as clause1) = clause1 ()
++ val  (clauses as clauses1) = clauses1 ()
++ in ((*#line 803.34 "ml.grm"*)clause :: clauses(*#line 3268.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, clause1left, clauses1right), rest671)
++end
++|  ( 144, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: _ :: ( _, ( MlyValue.constraint constraint1, _, _)) :: ( _, ( MlyValue.apats apats1, apats1left, _)) :: rest671)) => let val  result = MlyValue.clause (fn _ => let val  (apats as apats1) = apats1 ()
++ val  (constraint as constraint1) = constraint1 ()
++ val  (exp as exp1) = exp1 ()
++ in ((*#line 805.42 "ml.grm"*){pats = Vector.fromList apats,
++                                          resultType = constraint,
++                                          body = exp}(*#line 3275.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 8, ( result, apats1left, exp1right), rest671)
++end
++|  ( 145, ( ( _, ( MlyValue.tbs tbs1, (tbsleft as tbs1left), (tbsright as tbs1right))) :: rest671)) => let val  result = MlyValue.typBind (fn _ => let val  (tbs as tbs1) = tbs1 ()
++ in ((*#line 810.12 "ml.grm"*)TypBind.makeRegion' (TypBind.T tbs, tbsleft, tbsright)(*#line 3285.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 143, ( result, tbs1left, tbs1right), rest671)
++end
++|  ( 146, ( ( _, ( MlyValue.tbs' tbs'1, tbs'1left, tbs'1right)) :: rest671)) => let val  result = MlyValue.tbs (fn _ => let val  (tbs' as tbs'1) = tbs'1 ()
++ in ((*#line 812.14 "ml.grm"*)Vector.fromList tbs'(*#line 3291.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 128, ( result, tbs'1left, tbs'1right), rest671)
++end
++|  ( 147, ( ( _, ( MlyValue.tb tb1, tb1left, tb1right)) :: rest671)) => let val  result = MlyValue.tbs' (fn _ => let val  (tb as tb1) = tb1 ()
++ in ((*#line 814.22 "ml.grm"*)[tb](*#line 3297.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 129, ( result, tb1left, tb1right), rest671)
++end
++|  ( 148, ( ( _, ( MlyValue.tbs' tbs'1, _, tbs'1right)) :: _ :: ( _, ( MlyValue.tb tb1, tb1left, _)) :: rest671)) => let val  result = MlyValue.tbs' (fn _ => let val  (tb as tb1) = tb1 ()
++ val  (tbs' as tbs'1) = tbs'1 ()
++ in ((*#line 815.22 "ml.grm"*)tb :: tbs'(*#line 3303.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 129, ( result, tb1left, tbs'1right), rest671)
++end
++|  ( 149, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.tycon tycon1, _, _)) :: ( _, ( MlyValue.tyvars tyvars1, tyvars1left, _)) :: rest671)) => let val  result = MlyValue.tb (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (tycon as tycon1) = tycon1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 818.7 "ml.grm"*){def = ty,
++       tycon = tycon,
++       tyvars = tyvars}(*#line 3310.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 127, ( result, tyvars1left, ty1right), rest671)
++end
++|  ( 150, ( ( _, ( MlyValue.tyvarseq tyvarseq1, tyvarseq1left, tyvarseq1right)) :: rest671)) => let val  result = MlyValue.tyvars (fn _ => let val  (tyvarseq as tyvarseq1) = tyvarseq1 ()
++ in ((*#line 822.21 "ml.grm"*)tyvarseq(*#line 3320.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 148, ( result, tyvarseq1left, tyvarseq1right), rest671)
++end
++|  ( 151, ( rest671)) => let val  result = MlyValue.tyvars (fn _ => ((*#line 823.21 "ml.grm"*)Vector.new0 ()(*#line 3326.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 148, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 152, ( ( _, ( MlyValue.tyvar tyvar1, tyvar1left, tyvar1right)) :: rest671)) => let val  result = MlyValue.tyvarseq (fn _ => let val  (tyvar as tyvar1) = tyvar1 ()
++ in ((*#line 825.36 "ml.grm"*)Vector.new1 tyvar(*#line 3330.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 149, ( result, tyvar1left, tyvar1right), rest671)
++end
++|  ( 153, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.tyvar_pc tyvar_pc1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.tyvarseq (fn _ => let val  (tyvar_pc as tyvar_pc1) = tyvar_pc1 ()
++ in ((*#line 826.36 "ml.grm"*)Vector.fromList tyvar_pc(*#line 3336.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 149, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 154, ( ( _, ( MlyValue.tyvar tyvar1, tyvar1left, tyvar1right)) :: rest671)) => let val  result = MlyValue.tyvar_pc (fn _ => let val  (tyvar as tyvar1) = tyvar1 ()
++ in ((*#line 828.33 "ml.grm"*)[tyvar](*#line 3342.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 147, ( result, tyvar1left, tyvar1right), rest671)
++end
++|  ( 155, ( ( _, ( MlyValue.tyvar_pc tyvar_pc1, _, tyvar_pc1right)) :: _ :: ( _, ( MlyValue.tyvar tyvar1, tyvar1left, _)) :: rest671)) => let val  result = MlyValue.tyvar_pc (fn _ => let val  (tyvar as tyvar1) = tyvar1 ()
++ val  (tyvar_pc as tyvar_pc1) = tyvar_pc1 ()
++ in ((*#line 829.33 "ml.grm"*)tyvar :: tyvar_pc(*#line 3348.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 147, ( result, tyvar1left, tyvar_pc1right), rest671)
++end
++|  ( 156, ( ( _, ( MlyValue.constr constr1, constr1left, constr1right)) :: rest671)) => let val  result = MlyValue.constrs (fn _ => let val  (constr as constr1) = constr1 ()
++ in ((*#line 831.34 "ml.grm"*)[constr](*#line 3355.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 17, ( result, constr1left, constr1right), rest671)
++end
++|  ( 157, ( ( _, ( MlyValue.constrs constrs1, _, constrs1right)) :: _ :: ( _, ( MlyValue.constr constr1, constr1left, _)) :: rest671)) => let val  result = MlyValue.constrs (fn _ => let val  (constr as constr1) = constr1 ()
++ val  (constrs as constrs1) = constrs1 ()
++ in ((*#line 832.34 "ml.grm"*)constr :: constrs(*#line 3361.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 17, ( result, constr1left, constrs1right), rest671)
++end
++|  ( 158, ( ( _, ( MlyValue.opcon opcon1, opcon1left, opcon1right)) :: rest671)) => let val  result = MlyValue.constr (fn _ => let val  (opcon as opcon1) = opcon1 ()
++ in ((*#line 834.26 "ml.grm"*)opcon, NONE(*#line 3368.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 15, ( result, opcon1left, opcon1right), rest671)
++end
++|  ( 159, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.opcon opcon1, opcon1left, _)) :: rest671)) => let val  result = MlyValue.constr (fn _ => let val  (opcon as opcon1) = opcon1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 835.26 "ml.grm"*)opcon, SOME ty(*#line 3374.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 15, ( result, opcon1left, ty1right), rest671)
++end
++|  ( 160, ( ( _, ( MlyValue.con con1, con1left, con1right)) :: rest671)) => let val  result = MlyValue.opcon (fn _ => let val  (con as con1) = con1 ()
++ in ((*#line 837.26 "ml.grm"*)con(*#line 3381.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 74, ( result, con1left, con1right), rest671)
++end
++|  ( 161, ( ( _, ( MlyValue.con con1, _, con1right)) :: ( _, ( _, OP1left, _)) :: rest671)) => let val  result = MlyValue.opcon (fn _ => let val  (con as con1) = con1 ()
++ in ((*#line 838.26 "ml.grm"*)con(*#line 3387.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 74, ( result, OP1left, con1right), rest671)
++end
++|  ( 162, ( ( _, ( MlyValue.eb eb1, eb1left, eb1right)) :: rest671)) => let val  result = MlyValue.ebs (fn _ => let val  (eb as eb1) = eb1 ()
++ in ((*#line 840.28 "ml.grm"*)[eb](*#line 3393.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 36, ( result, eb1left, eb1right), rest671)
++end
++|  ( 163, ( ( _, ( MlyValue.ebs ebs1, _, ebs1right)) :: _ :: ( _, ( MlyValue.eb eb1, eb1left, _)) :: rest671)) => let val  result = MlyValue.ebs (fn _ => let val  (eb as eb1) = eb1 ()
++ val  (ebs as ebs1) = ebs1 ()
++ in ((*#line 841.28 "ml.grm"*)eb::ebs(*#line 3399.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 36, ( result, eb1left, ebs1right), rest671)
++end
++|  ( 164, ( ( _, ( MlyValue.ebrhs ebrhs1, _, ebrhs1right)) :: ( _, ( MlyValue.opcon opcon1, opcon1left, _)) :: rest671)) => let val  result = MlyValue.eb (fn _ => let val  (opcon as opcon1) = opcon1 ()
++ val  (ebrhs as ebrhs1) = ebrhs1 ()
++ in ((*#line 843.28 "ml.grm"*)opcon, ebrhs(*#line 3406.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 33, ( result, opcon1left, ebrhs1right), rest671)
++end
++|  ( 165, ( ( _, ( MlyValue.ebrhsnode ebrhsnode1, (ebrhsnodeleft as ebrhsnode1left), (ebrhsnoderight as ebrhsnode1right))) :: rest671)) => let val  result = MlyValue.ebrhs (fn _ => let val  (ebrhsnode as ebrhsnode1) = ebrhsnode1 ()
++ in ((*#line 845.20 "ml.grm"*)EbRhs.makeRegion' (ebrhsnode,
++                                     ebrhsnodeleft, ebrhsnoderight)(*#line 3413.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 34, ( result, ebrhsnode1left, ebrhsnode1right), rest671)
++end
++|  ( 166, ( rest671)) => let val  result = MlyValue.ebrhsnode (fn _ => ((*#line 848.35 "ml.grm"*)EbRhs.Gen NONE(*#line 3420.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 35, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 167, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: ( _, ( _, OF1left, _)) :: rest671)) => let val  result = MlyValue.ebrhsnode (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 849.35 "ml.grm"*)EbRhs.Gen (SOME ty)(*#line 3424.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 35, ( result, OF1left, ty1right), rest671)
++end
++|  ( 168, ( ( _, ( MlyValue.longcon longcon1, _, longcon1right)) :: ( _, ( _, EQUALOP1left, _)) :: rest671)) => let val  result = MlyValue.ebrhsnode (fn _ => let val  (longcon as longcon1) = longcon1 ()
++ in ((*#line 850.35 "ml.grm"*)EbRhs.Def longcon(*#line 3430.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 35, ( result, EQUALOP1left, longcon1right), rest671)
++end
++|  ( 169, ( ( _, ( MlyValue.longcon longcon1, _, longcon1right)) :: _ :: ( _, ( _, EQUALOP1left, _)) :: rest671)) => let val  result = MlyValue.ebrhsnode (fn _ => let val  (longcon as longcon1) = longcon1 ()
++ in ((*#line 851.35 "ml.grm"*)EbRhs.Def longcon(*#line 3436.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 35, ( result, EQUALOP1left, longcon1right), rest671)
++end
++|  ( 170, ( ( _, ( _, INFIX1left, INFIX1right)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => ((*#line 853.34 "ml.grm"*)Fixity.Infix NONE(*#line 3442.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 50, ( result, INFIX1left, INFIX1right), rest671)
++end
++|  ( 171, ( ( _, ( MlyValue.digit digit1, _, digit1right)) :: ( _, ( _, INFIX1left, _)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => let val  (digit as digit1) = digit1 ()
++ in ((*#line 854.34 "ml.grm"*)Fixity.Infix (SOME digit)(*#line 3446.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 50, ( result, INFIX1left, digit1right), rest671)
++end
++|  ( 172, ( ( _, ( _, INFIXR1left, INFIXR1right)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => ((*#line 855.34 "ml.grm"*)Fixity.Infixr NONE(*#line 3452.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 50, ( result, INFIXR1left, INFIXR1right), rest671)
++end
++|  ( 173, ( ( _, ( MlyValue.digit digit1, _, digit1right)) :: ( _, ( _, INFIXR1left, _)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => let val  (digit as digit1) = digit1 ()
++ in ((*#line 856.34 "ml.grm"*)Fixity.Infixr (SOME digit)(*#line 3456.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 50, ( result, INFIXR1left, digit1right), rest671)
++end
++|  ( 174, ( ( _, ( _, NONFIX1left, NONFIX1right)) :: rest671)) => let val  result = MlyValue.fixity (fn _ => ((*#line 857.34 "ml.grm"*)Fixity.Nonfix(*#line 3462.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 50, ( result, NONFIX1left, NONFIX1right), rest671)
++end
++|  ( 175, ( rest671)) => let val  result = MlyValue.priority (fn _ => ((*#line 859.34 "ml.grm"*)Priority.T NONE(*#line 3466.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 82, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 176, ( ( _, ( MlyValue.digit digit1, digit1left, digit1right)) :: rest671)) => let val  result = MlyValue.priority (fn _ => let val  (digit as digit1) = digit1 ()
++ in ((*#line 860.34 "ml.grm"*)Priority.T (SOME digit)(*#line 3470.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 82, ( result, digit1left, digit1right), rest671)
++end
++|  ( 177, ( ( _, ( MlyValue.INT INT1, INT1left, INT1right)) :: rest671)) => let val  result = MlyValue.int (fn _ => let val  (INT as INT1) = INT1 ()
++ in ((*#line 863.5 "ml.grm"*)let
++       val {digits, negate, radix, ...} = INT
++    in
++       case StringCvt.scanString (fn r => IntInf.scan (radix, r)) digits of
++          NONE => Error.bug "parser saw invalid int"
++        | SOME i => if negate then ~ i else i
++    end(*#line 3476.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 58, ( result, INT1left, INT1right), rest671)
++end
++|  ( 178, ( ( _, ( MlyValue.WORD WORD1, WORD1left, WORD1right)) :: rest671)) => let val  result = MlyValue.word (fn _ => let val  (WORD as WORD1) = WORD1 ()
++ in ((*#line 872.5 "ml.grm"*)let
++       val {digits, radix} = WORD
++    in
++       case StringCvt.scanString (fn r => IntInf.scan (radix, r)) digits of
++          NONE => Error.bug "parser saw invalid word"
++        | SOME i => i
++    end(*#line 3488.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 163, ( result, WORD1left, WORD1right), rest671)
++end
++|  ( 179, ( ( _, ( MlyValue.INT INT1, (INTleft as INT1left), (INTright as INT1right))) :: rest671)) => let val  result = MlyValue.digit (fn _ => let val  (INT as INT1) = INT1 ()
++ in ((*#line 881.5 "ml.grm"*)let
++       val {digits, extended, negate, radix} = INT
++    in
++       if 1 = String.size digits andalso not extended andalso not negate andalso radix = StringCvt.DEC
++          then valOf (Int.fromString digits)
++       else let
++               open Layout
++               val _ = 
++                  Control.error (reg (INTleft, INTright),
++                                 str "invalid digit in infix declaration",
++                                 empty)
++            in
++               0
++            end
++    end(*#line 3500.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 32, ( result, INT1left, INT1right), rest671)
++end
++|  ( 180, ( ( _, ( MlyValue.INT INT1, (INTleft as INT1left), (INTright as INT1right))) :: rest671)) => let val  result = MlyValue.numericField (fn _ => let val  (INT as INT1) = INT1 ()
++ in ((*#line 898.5 "ml.grm"*)let
++       val {digits, extended, negate, radix} = INT
++       fun err () =
++          let
++             open Layout
++             val _ =
++                Control.error (reg (INTleft, INTright),
++                               str "invalid numeric label",
++                               empty)
++          in
++             1
++          end
++    in
++       if String.sub (digits, 0) <> #"0" andalso not extended andalso not negate andalso radix = StringCvt.DEC
++          then case StringCvt.scanString (fn r => IntInf.scan (radix, r)) digits of
++                  NONE => Error.bug "parser saw invalid int"
++                | SOME i => (IntInf.toInt (if negate then ~ i else i)
++                             handle Exn.Overflow => err ())
++       else err ()
++    end(*#line 3520.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 72, ( result, INT1left, INT1right), rest671)
++end
++|  ( 181, ( ( _, ( MlyValue.datatypeRhsnode datatypeRhsnode1, (datatypeRhsnodeleft as datatypeRhsnode1left), (datatypeRhsnoderight as datatypeRhsnode1right))) :: rest671)) => let val  result = MlyValue.datatypeRhs (fn _ => let val  (datatypeRhsnode as datatypeRhsnode1) = datatypeRhsnode1 ()
++ in ((*#line 921.7 "ml.grm"*)DatatypeRhs.makeRegion' (datatypeRhsnode,
++                               datatypeRhsnodeleft, datatypeRhsnoderight)(*#line 3545.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 22, ( result, datatypeRhsnode1left, datatypeRhsnode1right), rest671)
++end
++|  ( 182, ( ( _, ( MlyValue.repl repl1, repl1left, repl1right)) :: rest671)) => let val  result = MlyValue.datatypeRhsnode (fn _ => let val  (repl as repl1) = repl1 ()
++ in ((*#line 925.25 "ml.grm"*)repl(*#line 3552.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 23, ( result, repl1left, repl1right), rest671)
++end
++|  ( 183, ( ( _, ( MlyValue.datBind datBind1, datBind1left, datBind1right)) :: rest671)) => let val  result = MlyValue.datatypeRhsnode (fn _ => let val  (datBind as datBind1) = datBind1 ()
++ in ((*#line 926.25 "ml.grm"*)DatatypeRhs.DatBind datBind(*#line 3558.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 23, ( result, datBind1left, datBind1right), rest671)
++end
++|  ( 184, ( ( _, ( MlyValue.longtycon longtycon1, _, longtycon1right)) :: _ :: _ :: ( _, ( MlyValue.tycon tycon1, _, _)) :: ( _, ( MlyValue.tyvars tyvars1, (tyvarsleft as tyvars1left), tyvarsright)) :: rest671)) => let val  result = MlyValue.repl (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (tycon as tycon1) = tycon1 ()
++ val  (longtycon as longtycon1) = longtycon1 ()
++ in ((*#line 929.9 "ml.grm"*)if Vector.isEmpty tyvars
++           then ()
++        else error (reg (tyvarsleft, tyvarsright),
++                    "nonempty tyvars in datatype repl")
++        ; DatatypeRhs.Repl {lhs = tycon, rhs = longtycon}(*#line 3564.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 84, ( result, tyvars1left, longtycon1right), rest671)
++end
++|  ( 185, ( ( _, ( MlyValue.dbs dbs1, (dbsleft as dbs1left), (dbsright as dbs1right))) :: rest671)) => let val  result = MlyValue.datBind (fn _ => let val  (dbs as dbs1) = dbs1 ()
++ in ((*#line 937.7 "ml.grm"*)DatBind.make (dbs, TypBind.empty, dbsleft, dbsright)(*#line 3576.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 21, ( result, dbs1left, dbs1right), rest671)
++end
++|  ( 186, ( ( _, ( MlyValue.withtypes withtypes1, _, (withtypesright as withtypes1right))) :: ( _, ( MlyValue.dbs dbs1, (dbsleft as dbs1left), _)) :: rest671)) => let val  result = MlyValue.datBind (fn _ => let val  (dbs as dbs1) = dbs1 ()
++ val  (withtypes as withtypes1) = withtypes1 ()
++ in ((*#line 939.7 "ml.grm"*)DatBind.make (dbs, withtypes, dbsleft, withtypesright)(*#line 3582.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 21, ( result, dbs1left, withtypes1right), rest671)
++end
++|  ( 187, ( ( _, ( MlyValue.dbs' dbs'1, dbs'1left, dbs'1right)) :: rest671)) => let val  result = MlyValue.dbs (fn _ => let val  (dbs' as dbs'1) = dbs'1 ()
++ in ((*#line 941.13 "ml.grm"*)Vector.fromList dbs'(*#line 3589.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 25, ( result, dbs'1left, dbs'1right), rest671)
++end
++|  ( 188, ( ( _, ( MlyValue.db db1, db1left, db1right)) :: rest671)) => let val  result = MlyValue.dbs' (fn _ => let val  (db as db1) = db1 ()
++ in ((*#line 943.22 "ml.grm"*)[db](*#line 3595.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 26, ( result, db1left, db1right), rest671)
++end
++|  ( 189, ( ( _, ( MlyValue.dbs' dbs'1, _, dbs'1right)) :: _ :: ( _, ( MlyValue.db db1, db1left, _)) :: rest671)) => let val  result = MlyValue.dbs' (fn _ => let val  (db as db1) = db1 ()
++ val  (dbs' as dbs'1) = dbs'1 ()
++ in ((*#line 944.22 "ml.grm"*)db :: dbs'(*#line 3601.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 26, ( result, db1left, dbs'1right), rest671)
++end
++|  ( 190, ( ( _, ( MlyValue.constrs constrs1, _, constrs1right)) :: ( _, ( MlyValue.optbar optbar1, _, _)) :: _ :: ( _, ( MlyValue.tycon tycon1, _, _)) :: ( _, ( MlyValue.tyvars tyvars1, tyvars1left, _)) :: rest671)) => let val  result = MlyValue.db (fn _ => let val  (tyvars as tyvars1) = tyvars1 ()
++ val  (tycon as tycon1) = tycon1 ()
++ val  optbar1 = optbar1 ()
++ val  (constrs as constrs1) = constrs1 ()
++ in ((*#line 947.7 "ml.grm"*){cons = Vector.fromList constrs,
++       tycon = tycon,
++       tyvars = tyvars}(*#line 3608.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 24, ( result, tyvars1left, constrs1right), rest671)
++end
++|  ( 191, ( ( _, ( MlyValue.typBind typBind1, _, typBind1right)) :: ( _, ( _, WITHTYPE1left, _)) :: rest671)) => let val  result = MlyValue.withtypes (fn _ => let val  (typBind as typBind1) = typBind1 ()
++ in ((*#line 951.32 "ml.grm"*)typBind(*#line 3619.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 162, ( result, WITHTYPE1left, typBind1right), rest671)
++end
++|  ( 192, ( ( _, ( MlyValue.longvid longvid1, longvid1left, longvid1right)) :: rest671)) => let val  result = MlyValue.longvidands (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 953.25 "ml.grm"*)[longvid](*#line 3625.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 70, ( result, longvid1left, longvid1right), rest671)
++end
++|  ( 193, ( ( _, ( MlyValue.longvidands longvidands1, _, longvidands1right)) :: _ :: ( _, ( MlyValue.longvid longvid1, longvid1left, _)) :: rest671)) => let val  result = MlyValue.longvidands (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ val  (longvidands as longvidands1) = longvidands1 ()
++ in ((*#line 954.40 "ml.grm"*)longvid :: longvidands(*#line 3631.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 70, ( result, longvid1left, longvidands1right), rest671)
++end
++|  ( 194, ( ( _, ( MlyValue.rules rules1, rulesleft, (rulesright as rules1right))) :: ( _, ( MlyValue.optbar optbar1, optbar1left, _)) :: rest671)) => let val  result = MlyValue.match (fn _ => let val  optbar1 = optbar1 ()
++ val  (rules as rules1) = rules1 ()
++ in ((*#line 956.26 "ml.grm"*)Match.makeRegion' (Match.T (Vector.fromList rules),
++                                            rulesleft, rulesright)(*#line 3638.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 71, ( result, optbar1left, rules1right), rest671)
++end
++|  ( 195, ( ( _, ( MlyValue.rule rule1, rule1left, rule1right)) :: rest671)) => let val  result = MlyValue.rules (fn _ => let val  (rule as rule1) = rule1 ()
++ in ((*#line 959.26 "ml.grm"*)[rule](*#line 3646.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 86, ( result, rule1left, rule1right), rest671)
++end
++|  ( 196, ( ( _, ( MlyValue.rules rules1, _, rules1right)) :: _ :: ( _, ( MlyValue.rule rule1, rule1left, _)) :: rest671)) => let val  result = MlyValue.rules (fn _ => let val  (rule as rule1) = rule1 ()
++ val  (rules as rules1) = rules1 ()
++ in ((*#line 960.26 "ml.grm"*)rule :: rules(*#line 3652.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 86, ( result, rule1left, rules1right), rest671)
++end
++|  ( 197, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: _ :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.rule (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (exp as exp1) = exp1 ()
++ in ((*#line 962.34 "ml.grm"*)(pat,exp)(*#line 3659.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 85, ( result, pat1left, exp1right), rest671)
++end
++|  ( 198, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: _ :: ( _, ( MlyValue.field field1, (fieldleft as field1left), fieldright)) :: rest671)) => let val  result = MlyValue.elabel (fn _ => let val  (field as field1) = field1 ()
++ val  (exp as exp1) = exp1 ()
++ in ((*#line 964.34 "ml.grm"*)field, (reg (fieldleft, fieldright), exp)(*#line 3666.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 37, ( result, field1left, exp1right), rest671)
++end
++|  ( 199, ( ( _, ( MlyValue.constraint constraint1, _, (constraintright as constraint1right))) :: ( _, ( MlyValue.idField idField1, (idFieldleft as idField1left), idFieldright)) :: rest671)) => let val  result = MlyValue.elabel (fn _ => let val  (idField as idField1) = idField1 ()
++ val  (constraint as constraint1) = constraint1 ()
++ in ((*#line 965.34 "ml.grm"*)if allowRecordPunExps ()
++                                    then ()
++                                    else error (reg (idFieldleft, idFieldright), "Record punning expressions disallowed, compile with -default-ann 'allowRecordPunExps true'")
++                                 ; (Field.Symbol (#1 idField),
++                                    (reg (idFieldleft, idFieldright),
++                                     let
++                                        val exp =
++                                           Exp.makeRegion'
++                                           (Exp.FlatApp
++                                            (Vector.new1
++                                             (Exp.makeRegion'
++                                              (Exp.Var {name = Longvid.short (Vid.fromSymbol idField),
++                                                        fixop = Fixop.None},
++                                               idFieldleft, idFieldright))),
++                                            idFieldleft, idFieldright)
++                                        val exp =
++                                           case constraint of
++                                              NONE => exp
++                                            | SOME ty =>
++                                                 Exp.makeRegion'
++                                                 (Exp.Constraint (exp, ty),
++                                                  idFieldleft, constraintright)
++                                     in
++                                        exp
++                                     end))(*#line 3673.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 37, ( result, idField1left, constraint1right), rest671)
++end
++|  ( 200, ( ( _, ( MlyValue.elabels elabels1, _, elabels1right)) :: _ :: ( _, ( MlyValue.elabel elabel1, elabel1left, _)) :: rest671)) => let val  result = MlyValue.elabels (fn _ => let val  (elabel as elabel1) = elabel1 ()
++ val  (elabels as elabels1) = elabels1 ()
++ in ((*#line 991.34 "ml.grm"*)elabel :: elabels(*#line 3704.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 38, ( result, elabel1left, elabels1right), rest671)
++end
++|  ( 201, ( ( _, ( MlyValue.elabel elabel1, elabel1left, elabel1right)) :: rest671)) => let val  result = MlyValue.elabels (fn _ => let val  (elabel as elabel1) = elabel1 ()
++ in ((*#line 992.34 "ml.grm"*)[elabel](*#line 3711.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 38, ( result, elabel1left, elabel1right), rest671)
++end
++|  ( 202, ( ( _, ( MlyValue.optsemicolon optsemicolon1, _, optsemicolon1right)) :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_ps (fn _ => let val  (exp as exp1) = exp1 ()
++ val  optsemicolon1 = optsemicolon1 ()
++ in ((*#line 994.34 "ml.grm"*)[exp](*#line 3717.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 44, ( result, exp1left, optsemicolon1right), rest671)
++end
++|  ( 203, ( ( _, ( MlyValue.exp_ps exp_ps1, _, exp_ps1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_ps (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (exp_ps as exp_ps1) = exp_ps1 ()
++ in ((*#line 995.34 "ml.grm"*)exp :: exp_ps(*#line 3724.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 44, ( result, exp1left, exp_ps1right), rest671)
++end
++|  ( 204, ( ( _, ( MlyValue.expnode expnode1, (expnodeleft as expnode1left), (expnoderight as expnode1right))) :: rest671)) => let val  result = MlyValue.exp (fn _ => let val  (expnode as expnode1) = expnode1 ()
++ in ((*#line 997.16 "ml.grm"*)Exp.makeRegion' (expnode, expnodeleft, expnoderight)(*#line 3731.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 41, ( result, expnode1left, expnode1right), rest671)
++end
++|  ( 205, ( ( _, ( MlyValue.match match1, _, match1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (match as match1) = match1 ()
++ in ((*#line 999.34 "ml.grm"*)Exp.Handle (exp, match)(*#line 3737.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, exp1left, match1right), rest671)
++end
++|  ( 206, ( ( _, ( MlyValue.exp exp2, _, exp2right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ in ((*#line 1000.34 "ml.grm"*)Exp.Orelse (exp1, exp2)(*#line 3744.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, exp1left, exp2right), rest671)
++end
++|  ( 207, ( ( _, ( MlyValue.exp exp2, _, exp2right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ in ((*#line 1001.34 "ml.grm"*)Exp.Andalso (exp1, exp2)(*#line 3751.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, exp1left, exp2right), rest671)
++end
++|  ( 208, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1002.34 "ml.grm"*)Exp.Constraint (exp, ty)(*#line 3758.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, exp1left, ty1right), rest671)
++end
++|  ( 209, ( ( _, ( MlyValue.app_exp app_exp1, app_exp1left, app_exp1right)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (app_exp as app_exp1) = app_exp1 ()
++ in ((*#line 1003.34 "ml.grm"*)Exp.FlatApp (Vector.fromList app_exp)(*#line 3765.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, app_exp1left, app_exp1right), rest671)
++end
++|  ( 210, ( ( _, ( MlyValue.match match1, _, match1right)) :: ( _, ( _, FN1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (match as match1) = match1 ()
++ in ((*#line 1004.34 "ml.grm"*)Exp.Fn match(*#line 3771.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, FN1left, match1right), rest671)
++end
++|  ( 211, ( ( _, ( MlyValue.match match1, _, match1right)) :: _ :: ( _, ( MlyValue.exp exp1, _, _)) :: ( _, ( _, CASE1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (match as match1) = match1 ()
++ in ((*#line 1005.34 "ml.grm"*)Exp.Case (exp, match)(*#line 3777.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, CASE1left, match1right), rest671)
++end
++|  ( 212, ( ( _, ( MlyValue.exp exp2, _, exp2right)) :: _ :: ( _, ( MlyValue.exp exp1, _, _)) :: ( _, ( _, WHILE1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ in ((*#line 1006.34 "ml.grm"*)Exp.While {test = exp1, expr = exp2}(*#line 3784.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, WHILE1left, exp2right), rest671)
++end
++|  ( 213, ( ( _, ( MlyValue.exp exp3, _, exp3right)) :: _ :: ( _, ( MlyValue.exp exp2, _, _)) :: _ :: ( _, ( MlyValue.exp exp1, _, _)) :: ( _, ( _, IF1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ val  exp3 = exp3 ()
++ in ((*#line 1007.37 "ml.grm"*)Exp.If (exp1, exp2, exp3)(*#line 3791.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, IF1left, exp3right), rest671)
++end
++|  ( 214, ( ( _, ( MlyValue.exp exp1, _, exp1right)) :: ( _, ( _, RAISE1left, _)) :: rest671)) => let val  result = MlyValue.expnode (fn _ => let val  (exp as exp1) = exp1 ()
++ in ((*#line 1008.34 "ml.grm"*)Exp.Raise exp(*#line 3799.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 45, ( result, RAISE1left, exp1right), rest671)
++end
++|  ( 215, ( ( _, ( MlyValue.aexp aexp1, (aexpleft as aexp1left), (aexpright as aexp1right))) :: rest671)) => let val  result = MlyValue.app_exp (fn _ => let val  (aexp as aexp1) = aexp1 ()
++ in ((*#line 1010.29 "ml.grm"*)[Exp.makeRegion' (aexp, aexpleft, aexpright)](*#line 3805.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, aexp1left, aexp1right), rest671)
++end
++|  ( 216, ( ( _, ( MlyValue.app_exp app_exp1, _, app_exp1right)) :: ( _, ( MlyValue.aexp aexp1, (aexpleft as aexp1left), aexpright)) :: rest671)) => let val  result = MlyValue.app_exp (fn _ => let val  (aexp as aexp1) = aexp1 ()
++ val  (app_exp as app_exp1) = app_exp1 ()
++ in ((*#line 1011.29 "ml.grm"*)Exp.makeRegion' (aexp, aexpleft, aexpright)
++                            :: app_exp(*#line 3811.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, aexp1left, app_exp1right), rest671)
++end
++|  ( 217, ( ( _, ( MlyValue.longvid longvid1, (longvidleft as longvid1left), (longvidright as longvid1right))) :: rest671)) => let val  result = MlyValue.app_exp (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 1013.29 "ml.grm"*)[Exp.makeRegion' (Exp.Var {name = longvid,
++                                                       fixop = Fixop.None},
++                                              longvidleft, longvidright)](*#line 3819.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, longvid1left, longvid1right), rest671)
++end
++|  ( 218, ( ( _, ( MlyValue.app_exp app_exp1, _, app_exp1right)) :: ( _, ( MlyValue.longvid longvid1, (longvidleft as longvid1left), longvidright)) :: rest671)) => let val  result = MlyValue.app_exp (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ val  (app_exp as app_exp1) = app_exp1 ()
++ in ((*#line 1016.29 "ml.grm"*)Exp.makeRegion' (Exp.Var {name = longvid,
++                                                      fixop = Fixop.None},
++                                             longvidleft, longvidright)
++                            :: app_exp(*#line 3827.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, longvid1left, app_exp1right), rest671)
++end
++|  ( 219, ( ( _, ( MlyValue.longvid longvid1, _, longvid1right)) :: ( _, ( _, OP1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 1021.34 "ml.grm"*)Exp.Var {name = longvid,
++                                          fixop = Fixop.Op}(*#line 3837.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, OP1left, longvid1right), rest671)
++end
++|  ( 220, ( ( _, ( MlyValue.const const1, const1left, const1right)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (const as const1) = const1 ()
++ in ((*#line 1023.34 "ml.grm"*)Exp.Const const(*#line 3844.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, const1left, const1right), rest671)
++end
++|  ( 221, ( ( _, ( MlyValue.field field1, _, field1right)) :: ( _, ( _, HASH1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (field as field1) = field1 ()
++ in ((*#line 1024.34 "ml.grm"*)Exp.Selector field(*#line 3850.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, HASH1left, field1right), rest671)
++end
++|  ( 222, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( MlyValue.exp_list exp_list1, _, _)) :: ( _, ( _, HASHLBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (exp_list as exp_list1) = exp_list1 ()
++ in ((*#line 1025.43 "ml.grm"*)Exp.Vector (Vector.fromList exp_list)(*#line 3856.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, HASHLBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 223, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( _, HASHLBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => ((*#line 1026.43 "ml.grm"*)Exp.Vector (Vector.new0 ())(*#line 3862.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 0, ( result, HASHLBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 224, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.elabels elabels1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (elabels as elabels1) = elabels1 ()
++ in ((*#line 1028.12 "ml.grm"*)Exp.Record (Record.fromVector (Vector.fromList elabels))(*#line 3866.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 225, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => ((*#line 1029.34 "ml.grm"*)Exp.unit(*#line 3872.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 0, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 226, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => ((*#line 1030.34 "ml.grm"*)Exp.unit(*#line 3876.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 0, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 227, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.exp_ps exp_ps1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (exp_ps as exp_ps1) = exp_ps1 ()
++ in ((*#line 1032.14 "ml.grm"*)case exp_ps of
++                [exp] => Exp.Paren exp
++              | _ => Exp.Seq (Vector.fromList exp_ps)(*#line 3880.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 228, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.exp_2c exp_2c1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (exp_2c as exp_2c1) = exp_2c1 ()
++ in ((*#line 1035.34 "ml.grm"*)Exp.tuple (Vector.fromList exp_2c)(*#line 3888.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 229, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( MlyValue.exp_list exp_list1, _, _)) :: ( _, ( _, LBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (exp_list as exp_list1) = exp_list1 ()
++ in ((*#line 1036.40 "ml.grm"*)Exp.List (Vector.fromList exp_list)(*#line 3894.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 230, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( _, LBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => ((*#line 1037.40 "ml.grm"*)Exp.List (Vector.new0 ())(*#line 3900.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 0, ( result, LBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 231, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.exp_ps exp_ps1, exp_psleft, exp_psright)) :: _ :: ( _, ( MlyValue.decs decs1, _, _)) :: ( _, ( _, LET1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (decs as decs1) = decs1 ()
++ val  (exp_ps as exp_ps1) = exp_ps1 ()
++ in ((*#line 1039.14 "ml.grm"*)Exp.Let (decs,
++                      case exp_ps of
++                         [exp] => exp
++                       | _ => Exp.makeRegion' (Exp.Seq (Vector.fromList exp_ps),
++                                               exp_psleft, exp_psright))(*#line 3904.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, LET1left, END1right), rest671)
++end
++|  ( 232, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.symattributes symattributes1, _, _)) :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, ADDRESS1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (symattributes as symattributes1) = symattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1045.12 "ml.grm"*)Exp.Prim (PrimKind.Address {attributes = symattributes,
++                                       name = string,
++                                       ty = ty})(*#line 3915.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, ADDRESS1left, SEMICOLON1right), rest671)
++end
++|  ( 233, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, BUILD_CONST1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1049.12 "ml.grm"*)Exp.Prim (PrimKind.BuildConst {name = string, ty = ty})(*#line 3925.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, BUILD_CONST1left, SEMICOLON1right), rest671)
++end
++|  ( 234, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.constOrBool constOrBool1, _, _)) :: _ :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, COMMAND_LINE_CONST1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ty as ty1) = ty1 ()
++ val  (constOrBool as constOrBool1) = constOrBool1 ()
++ in ((*#line 1051.12 "ml.grm"*)Exp.Prim (PrimKind.CommandLineConst {name = string,
++                                                ty = ty,
++                                                value = constOrBool})(*#line 3932.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, COMMAND_LINE_CONST1left, SEMICOLON1right), rest671)
++end
++|  ( 235, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, CONST1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1055.12 "ml.grm"*)Exp.Prim (PrimKind.Const {name = string, ty = ty})(*#line 3942.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, CONST1left, SEMICOLON1right), rest671)
++end
++|  ( 236, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.ieattributes ieattributes1, _, _)) :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, EXPORT1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ieattributes as ieattributes1) = ieattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1057.12 "ml.grm"*)Exp.Prim (PrimKind.Export {attributes = ieattributes,
++                                      name = string,
++                                      ty = ty})(*#line 3949.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, EXPORT1left, SEMICOLON1right), rest671)
++end
++|  ( 237, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.ieattributes ieattributes1, _, _)) :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, IMPORT1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ieattributes as ieattributes1) = ieattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1061.12 "ml.grm"*)Exp.Prim (PrimKind.Import {attributes = ieattributes,
++                                      name = string,
++                                      ty = ty})(*#line 3959.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, IMPORT1left, SEMICOLON1right), rest671)
++end
++|  ( 238, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.ieattributes ieattributes1, _, _)) :: _ :: ( _, ( _, IMPORT1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (ieattributes as ieattributes1) = ieattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1065.12 "ml.grm"*)Exp.Prim (PrimKind.IImport {attributes = ieattributes,
++                                       ty = ty})(*#line 3969.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, IMPORT1left, SEMICOLON1right), rest671)
++end
++|  ( 239, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, PRIM1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1068.12 "ml.grm"*)Exp.Prim (PrimKind.Prim {name = string,
++                                    ty = ty})(*#line 3977.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, PRIM1left, SEMICOLON1right), rest671)
++end
++|  ( 240, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: ( _, ( MlyValue.symattributes symattributes1, _, _)) :: ( _, ( MlyValue.string string1, _, _)) :: ( _, ( _, SYMBOL1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (string as string1) = string1 ()
++ val  (symattributes as symattributes1) = symattributes1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1071.12 "ml.grm"*)Exp.Prim (PrimKind.Symbol {attributes = symattributes,
++                                      name = string,
++                                      ty = ty})(*#line 3985.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, SYMBOL1left, SEMICOLON1right), rest671)
++end
++|  ( 241, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: _ :: _ :: ( _, ( _, SYMBOL1left, _)) :: rest671)) => let val  result = MlyValue.aexp (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 1075.12 "ml.grm"*)Exp.Prim (PrimKind.ISymbol {ty = ty})(*#line 3995.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, SYMBOL1left, SEMICOLON1right), rest671)
++end
++|  ( 242, ( rest671)) => let val  result = MlyValue.ieattributes (fn _ => ((*#line 1079.7 "ml.grm"*)[](*#line 4001.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 6, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 243, ( ( _, ( MlyValue.ieattributes ieattributes1, _, ieattributes1right)) :: ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, _)) :: rest671)) => let val  result = MlyValue.ieattributes (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ val  (ieattributes as ieattributes1) = ieattributes1 ()
++ in ((*#line 1081.7 "ml.grm"*)let
++         val (id, reg) = shortAlphanumId
++      in
++         case Symbol.toString id of
++            "cdecl" => PrimKind.ImportExportAttribute.Cdecl :: ieattributes
++          | "external" => PrimKind.ImportExportAttribute.External :: ieattributes
++          | "impure" => PrimKind.ImportExportAttribute.Impure :: ieattributes
++          | "inline" => PrimKind.ImportExportAttribute.Inline :: ieattributes
++          | "private" => PrimKind.ImportExportAttribute.Private :: ieattributes
++          | "public" => PrimKind.ImportExportAttribute.Public :: ieattributes
++          | "pure" => PrimKind.ImportExportAttribute.Pure :: ieattributes
++          | "reentrant" => PrimKind.ImportExportAttribute.Reentrant :: ieattributes
++          | "runtime" => PrimKind.ImportExportAttribute.Runtime :: ieattributes
++          | "stdcall" => PrimKind.ImportExportAttribute.Stdcall :: ieattributes
++          | id => (error (reg, concat ["invalid attribute: ", id])
++                   ; ieattributes)
++      end(*#line 4005.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 6, ( result, shortAlphanumId1left, ieattributes1right), rest671)
++end
++|  ( 244, ( rest671)) => let val  result = MlyValue.symattributes (fn _ => ((*#line 1101.7 "ml.grm"*)[](*#line 4028.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 126, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 245, ( ( _, ( MlyValue.symattributes symattributes1, _, symattributes1right)) :: ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, _)) :: rest671)) => let val  result = MlyValue.symattributes (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ val  (symattributes as symattributes1) = symattributes1 ()
++ in ((*#line 1103.7 "ml.grm"*)let
++         val (id, reg) = shortAlphanumId
++      in
++         case Symbol.toString id of
++            "alloc" => PrimKind.SymbolAttribute.Alloc :: symattributes
++          | "external" => PrimKind.SymbolAttribute.External :: symattributes
++          | "private" => PrimKind.SymbolAttribute.Private :: symattributes
++          | "public" => PrimKind.SymbolAttribute.Public :: symattributes
++          | id => (error (reg, concat ["invalid attribute: ", id])
++                   ; symattributes)
++      end(*#line 4032.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 126, ( result, shortAlphanumId1left, symattributes1right), rest671)
++end
++|  ( 246, ( ( _, ( MlyValue.exp_2c exp_2c1, _, exp_2c1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_2c (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (exp_2c as exp_2c1) = exp_2c1 ()
++ in ((*#line 1115.34 "ml.grm"*)exp :: exp_2c(*#line 4049.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 42, ( result, exp1left, exp_2c1right), rest671)
++end
++|  ( 247, ( ( _, ( MlyValue.exp exp2, _, exp2right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_2c (fn _ => let val  exp1 = exp1 ()
++ val  exp2 = exp2 ()
++ in ((*#line 1116.34 "ml.grm"*)[exp1, exp2](*#line 4056.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 42, ( result, exp1left, exp2right), rest671)
++end
++|  ( 248, ( ( _, ( MlyValue.exp exp1, exp1left, exp1right)) :: rest671)) => let val  result = MlyValue.exp_list (fn _ => let val  (exp as exp1) = exp1 ()
++ in ((*#line 1118.34 "ml.grm"*)[exp](*#line 4063.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 43, ( result, exp1left, exp1right), rest671)
++end
++|  ( 249, ( ( _, ( MlyValue.exp_list exp_list1, _, exp_list1right)) :: _ :: ( _, ( MlyValue.exp exp1, exp1left, _)) :: rest671)) => let val  result = MlyValue.exp_list (fn _ => let val  (exp as exp1) = exp1 ()
++ val  (exp_list as exp_list1) = exp_list1 ()
++ in ((*#line 1119.34 "ml.grm"*)exp :: exp_list(*#line 4069.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 43, ( result, exp1left, exp_list1right), rest671)
++end
++|  ( 250, ( ( _, ( MlyValue.barcpats barcpats1, _, (barcpatsright as barcpats1right))) :: _ :: ( _, ( MlyValue.cpat cpat1, (cpatleft as cpat1left), _)) :: rest671)) => let val  result = MlyValue.pat (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ val  (barcpats as barcpats1) = barcpats1 ()
++ in ((*#line 1125.27 "ml.grm"*)Pat.makeRegion' (Pat.Or (Vector.fromList (cpat::barcpats)),
++                                           cpatleft, barcpatsright)(*#line 4076.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 78, ( result, cpat1left, barcpats1right), rest671)
++end
++|  ( 251, ( ( _, ( MlyValue.cpat cpat1, cpat1left, cpat1right)) :: rest671)) => let val  result = MlyValue.pat (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ in ((*#line 1127.27 "ml.grm"*)cpat(*#line 4084.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 78, ( result, cpat1left, cpat1right), rest671)
++end
++|  ( 252, ( ( _, ( MlyValue.cpatnode cpatnode1, (cpatnodeleft as cpatnode1left), (cpatnoderight as cpatnode1right))) :: rest671)) => let val  result = MlyValue.cpat (fn _ => let val  (cpatnode as cpatnode1) = cpatnode1 ()
++ in ((*#line 1129.18 "ml.grm"*)Pat.makeRegion' (cpatnode, cpatnodeleft, cpatnoderight)(*#line 4090.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 19, ( result, cpatnode1left, cpatnode1right), rest671)
++end
++|  ( 253, ( ( _, ( MlyValue.cpat cpat2, _, cpat2right)) :: _ :: ( _, ( MlyValue.cpat cpat1, cpat1left, _)) :: rest671)) => let val  result = MlyValue.cpatnode (fn _ => let val  cpat1 = cpat1 ()
++ val  cpat2 = cpat2 ()
++ in ((*#line 1131.28 "ml.grm"*)Pat.makeAs (cpat1, cpat2)(*#line 4096.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, cpat1left, cpat2right), rest671)
++end
++|  ( 254, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.cpat cpat1, cpat1left, _)) :: rest671)) => let val  result = MlyValue.cpatnode (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1132.28 "ml.grm"*)Pat.Constraint (cpat, ty)(*#line 4103.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, cpat1left, ty1right), rest671)
++end
++|  ( 255, ( ( _, ( MlyValue.apats apats1, apats1left, apats1right)) :: rest671)) => let val  result = MlyValue.cpatnode (fn _ => let val  (apats as apats1) = apats1 ()
++ in ((*#line 1133.28 "ml.grm"*)Pat.FlatApp (Vector.fromList apats)(*#line 4110.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, apats1left, apats1right), rest671)
++end
++|  ( 256, ( ( _, ( MlyValue.apat apat1, apat1left, apat1right)) :: rest671)) => let val  result = MlyValue.apats (fn _ => let val  (apat as apat1) = apat1 ()
++ in ((*#line 1135.22 "ml.grm"*)[apat](*#line 4116.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, apat1left, apat1right), rest671)
++end
++|  ( 257, ( ( _, ( MlyValue.apats apats1, _, apats1right)) :: ( _, ( MlyValue.apat apat1, apat1left, _)) :: rest671)) => let val  result = MlyValue.apats (fn _ => let val  (apat as apat1) = apat1 ()
++ val  (apats as apats1) = apats1 ()
++ in ((*#line 1136.22 "ml.grm"*)apat :: apats(*#line 4122.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, apat1left, apats1right), rest671)
++end
++|  ( 258, ( ( _, ( MlyValue.apatnode apatnode1, (apatnodeleft as apatnode1left), (apatnoderight as apatnode1right))) :: rest671)) => let val  result = MlyValue.apat (fn _ => let val  (apatnode as apatnode1) = apatnode1 ()
++ in ((*#line 1139.15 "ml.grm"*)Pat.makeRegion' (apatnode,
++                               apatnodeleft,
++                               apatnoderight)(*#line 4129.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, apatnode1left, apatnode1right), rest671)
++end
++|  ( 259, ( ( _, ( MlyValue.longvidNoEqual longvidNoEqual1, longvidNoEqual1left, longvidNoEqual1right)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (longvidNoEqual as longvidNoEqual1) = longvidNoEqual1 ()
++ in ((*#line 1144.34 "ml.grm"*)Pat.Var {name = longvidNoEqual,
++                                          fixop = Fixop.None}(*#line 4137.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, longvidNoEqual1left, longvidNoEqual1right), rest671)
++end
++|  ( 260, ( ( _, ( MlyValue.longvid longvid1, _, longvid1right)) :: ( _, ( _, OP1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 1146.34 "ml.grm"*)Pat.Var {name = longvid,
++                                          fixop = Fixop.Op}(*#line 4144.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, OP1left, longvid1right), rest671)
++end
++|  ( 261, ( ( _, ( MlyValue.const const1, const1left, const1right)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (const as const1) = const1 ()
++ in ((*#line 1149.8 "ml.grm"*)let
++          val _ =
++             case Const.node const of
++                Const.Real r =>
++                   let
++                      open Layout
++                   in
++                      Control.error
++                      (Const.region const,
++                       seq [str "real constants not allowed in patterns: ",
++                            Const.layout const],
++                       empty)
++                   end
++              | _ => ()
++       in
++          Pat.Const const
++       end(*#line 4151.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, const1left, const1right), rest671)
++end
++|  ( 262, ( ( _, ( _, WILD1left, WILD1right)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => ((*#line 1166.34 "ml.grm"*)Pat.Wild(*#line 4173.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 2, ( result, WILD1left, WILD1right), rest671)
++end
++|  ( 263, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.pats pats1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (pats as pats1) = pats1 ()
++ in ((*#line 1167.34 "ml.grm"*)Pat.tuple (Vector.fromList pats)(*#line 4177.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 264, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( MlyValue.pats pats1, _, _)) :: ( _, ( _, LBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (pats as pats1) = pats1 ()
++ in ((*#line 1168.34 "ml.grm"*)Pat.List (Vector.fromList pats)(*#line 4183.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, LBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 265, ( ( _, ( _, _, RBRACKET1right)) :: ( _, ( MlyValue.pats pats1, _, _)) :: ( _, ( _, HASHLBRACKET1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (pats as pats1) = pats1 ()
++ in ((*#line 1169.34 "ml.grm"*)Pat.Vector (Vector.fromList pats)(*#line 4189.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, HASHLBRACKET1left, RBRACKET1right), rest671)
++end
++|  ( 266, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => ((*#line 1170.34 "ml.grm"*)Pat.unit(*#line 4195.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 2, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 267, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.patitems patitems1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.apatnode (fn _ => let val  (patitems as patitems1) = patitems1 ()
++ in ((*#line 1172.8 "ml.grm"*)let
++          val (items, flexible) = patitems
++       in
++          Pat.Record {flexible = flexible,
++                      items = Vector.fromList items}
++       end(*#line 4199.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 268, ( rest671)) => let val  result = MlyValue.pats (fn _ => ((*#line 1179.9 "ml.grm"*)[](*#line 4210.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 81, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 269, ( ( _, ( MlyValue.commapats commapats1, _, commapats1right)) :: ( _, ( MlyValue.pat pat1, pat1left, _)) :: rest671)) => let val  result = MlyValue.pats (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (commapats as commapats1) = commapats1 ()
++ in ((*#line 1180.23 "ml.grm"*)pat :: commapats(*#line 4214.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 81, ( result, pat1left, commapats1right), rest671)
++end
++|  ( 270, ( ( _, ( MlyValue.cpat cpat1, cpat1left, cpat1right)) :: rest671)) => let val  result = MlyValue.barcpats (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ in ((*#line 1182.18 "ml.grm"*)[cpat](*#line 4221.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, cpat1left, cpat1right), rest671)
++end
++|  ( 271, ( ( _, ( MlyValue.barcpats barcpats1, _, barcpats1right)) :: _ :: ( _, ( MlyValue.cpat cpat1, cpat1left, _)) :: rest671)) => let val  result = MlyValue.barcpats (fn _ => let val  (cpat as cpat1) = cpat1 ()
++ val  (barcpats as barcpats1) = barcpats1 ()
++ in ((*#line 1183.31 "ml.grm"*)cpat :: barcpats(*#line 4227.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, cpat1left, barcpats1right), rest671)
++end
++|  ( 272, ( rest671)) => let val  result = MlyValue.commapats (fn _ => ((*#line 1185.14 "ml.grm"*)[](*#line 4234.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 273, ( ( _, ( MlyValue.commapats commapats1, _, commapats1right)) :: ( _, ( MlyValue.pat pat1, _, _)) :: ( _, ( _, COMMA1left, _)) :: rest671)) => let val  result = MlyValue.commapats (fn _ => let val  (pat as pat1) = pat1 ()
++ val  (commapats as commapats1) = commapats1 ()
++ in ((*#line 1186.34 "ml.grm"*)pat :: commapats(*#line 4238.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, COMMA1left, commapats1right), rest671)
++end
++|  ( 274, ( ( _, ( MlyValue.patitems patitems1, _, patitems1right)) :: _ :: ( _, ( MlyValue.patitem patitem1, patitem1left, _)) :: rest671)) => let val  result = MlyValue.patitems (fn _ => let val  (patitem as patitem1) = patitem1 ()
++ val  (patitems as patitems1) = patitems1 ()
++ in ((*#line 1188.37 "ml.grm"*)let val (items, f) = patitems
++                                    in (patitem :: items, f)
++                                    end(*#line 4245.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 80, ( result, patitem1left, patitems1right), rest671)
++end
++|  ( 275, ( ( _, ( MlyValue.patitem patitem1, patitem1left, patitem1right)) :: rest671)) => let val  result = MlyValue.patitems (fn _ => let val  (patitem as patitem1) = patitem1 ()
++ in ((*#line 1191.34 "ml.grm"*)[patitem], false(*#line 4254.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 80, ( result, patitem1left, patitem1right), rest671)
++end
++|  ( 276, ( ( _, ( _, DOTDOTDOT1left, DOTDOTDOT1right)) :: rest671)) => let val  result = MlyValue.patitems (fn _ => ((*#line 1192.34 "ml.grm"*)[], true(*#line 4260.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 80, ( result, DOTDOTDOT1left, DOTDOTDOT1right), rest671)
++end
++|  ( 277, ( ( _, ( MlyValue.pat pat1, _, pat1right)) :: _ :: ( _, ( MlyValue.field field1, (fieldleft as field1left), fieldright)) :: rest671)) => let val  result = MlyValue.patitem (fn _ => let val  (field as field1) = field1 ()
++ val  (pat as pat1) = pat1 ()
++ in ((*#line 1196.7 "ml.grm"*)(field, reg (fieldleft, fieldright), Pat.Item.Field pat)(*#line 4264.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 79, ( result, field1left, pat1right), rest671)
++end
++|  ( 278, ( ( _, ( MlyValue.opaspat opaspat1, _, opaspat1right)) :: ( _, ( MlyValue.constraint constraint1, _, _)) :: ( _, ( MlyValue.vid vid1, (vidleft as vid1left), vidright)) :: rest671)) => let val  result = MlyValue.patitem (fn _ => let val  (vid as vid1) = vid1 ()
++ val  (constraint as constraint1) = constraint1 ()
++ val  (opaspat as opaspat1) = opaspat1 ()
++ in ((*#line 1198.7 "ml.grm"*)Field.Symbol (Vid.toSymbol vid),
++      reg (vidleft, vidright),
++      Pat.Item.Vid (vid, constraint, opaspat)(*#line 4271.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 79, ( result, vid1left, opaspat1right), rest671)
++end
++|  ( 279, ( rest671)) => let val  result = MlyValue.opaspat (fn _ => ((*#line 1202.20 "ml.grm"*)NONE(*#line 4281.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 73, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 280, ( ( _, ( MlyValue.pat pat1, _, pat1right)) :: ( _, ( _, AS1left, _)) :: rest671)) => let val  result = MlyValue.opaspat (fn _ => let val  (pat as pat1) = pat1 ()
++ in ((*#line 1203.20 "ml.grm"*)SOME pat(*#line 4285.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 73, ( result, AS1left, pat1right), rest671)
++end
++|  ( 281, ( ( _, ( MlyValue.tynode tynode1, (tynodeleft as tynode1left), (tynoderight as tynode1right))) :: rest671)) => let val  result = MlyValue.ty (fn _ => let val  (tynode as tynode1) = tynode1 ()
++ in ((*#line 1209.14 "ml.grm"*)Type.makeRegion' (tynode, tynodeleft, tynoderight)(*#line 4291.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 136, ( result, tynode1left, tynode1right), rest671)
++end
++|  ( 282, ( ( _, ( MlyValue.tuple_ty tuple_ty1, tuple_ty1left, tuple_ty1right)) :: rest671)) => let val  result = MlyValue.tynode (fn _ => let val  (tuple_ty as tuple_ty1) = tuple_ty1 ()
++ in ((*#line 1211.26 "ml.grm"*)Type.tuple (Vector.fromList tuple_ty)(*#line 4297.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 142, ( result, tuple_ty1left, tuple_ty1right), rest671)
++end
++|  ( 283, ( ( _, ( MlyValue.ty ty2, _, ty2right)) :: _ :: ( _, ( MlyValue.ty ty1, ty1left, _)) :: rest671)) => let val  result = MlyValue.tynode (fn _ => let val  ty1 = ty1 ()
++ val  ty2 = ty2 ()
++ in ((*#line 1212.26 "ml.grm"*)Type.arrow (ty1, ty2)(*#line 4303.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 142, ( result, ty1left, ty2right), rest671)
++end
++|  ( 284, ( ( _, ( MlyValue.ty'node ty'node1, ty'node1left, ty'node1right)) :: rest671)) => let val  result = MlyValue.tynode (fn _ => let val  (ty'node as ty'node1) = ty'node1 ()
++ in ((*#line 1213.26 "ml.grm"*)ty'node(*#line 4310.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 142, ( result, ty'node1left, ty'node1right), rest671)
++end
++|  ( 285, ( ( _, ( MlyValue.ty'node ty'node1, (ty'nodeleft as ty'node1left), (ty'noderight as ty'node1right))) :: rest671)) => let val  result = MlyValue.ty' (fn _ => let val  (ty'node as ty'node1) = ty'node1 ()
++ in ((*#line 1215.16 "ml.grm"*)Type.makeRegion' (ty'node, ty'nodeleft, ty'noderight)(*#line 4316.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 137, ( result, ty'node1left, ty'node1right), rest671)
++end
++|  ( 286, ( ( _, ( MlyValue.tyvar tyvar1, tyvar1left, tyvar1right)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (tyvar as tyvar1) = tyvar1 ()
++ in ((*#line 1217.44 "ml.grm"*)Type.Var tyvar(*#line 4322.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, tyvar1left, tyvar1right), rest671)
++end
++|  ( 287, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.tlabels tlabels1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (tlabels as tlabels1) = tlabels1 ()
++ in ((*#line 1219.12 "ml.grm"*)Type.Record (Record.fromVector (Vector.fromList tlabels))(*#line 4328.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 288, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => ((*#line 1220.44 "ml.grm"*)Type.unit(*#line 4334.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 138, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 289, ( ( _, ( MlyValue.longtycon longtycon1, _, longtycon1right)) :: _ :: ( _, ( MlyValue.ty0_pc ty0_pc1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (ty0_pc as ty0_pc1) = ty0_pc1 ()
++ val  (longtycon as longtycon1) = longtycon1 ()
++ in ((*#line 1221.44 "ml.grm"*)Type.Con (longtycon,
++                                                     Vector.fromList ty0_pc)(*#line 4338.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, LPAREN1left, longtycon1right), rest671)
++end
++|  ( 290, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.ty ty1, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (ty as ty1) = ty1 ()
++ in ((*#line 1223.44 "ml.grm"*)Type.Paren ty(*#line 4346.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 291, ( ( _, ( MlyValue.longtycon longtycon1, _, longtycon1right)) :: ( _, ( MlyValue.ty' ty'1, ty'1left, _)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (ty' as ty'1) = ty'1 ()
++ val  (longtycon as longtycon1) = longtycon1 ()
++ in ((*#line 1224.44 "ml.grm"*)Type.Con (longtycon,
++                                                     Vector.new1 ty')(*#line 4352.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, ty'1left, longtycon1right), rest671)
++end
++|  ( 292, ( ( _, ( MlyValue.longtycon longtycon1, longtycon1left, longtycon1right)) :: rest671)) => let val  result = MlyValue.ty'node (fn _ => let val  (longtycon as longtycon1) = longtycon1 ()
++ in ((*#line 1226.44 "ml.grm"*)Type.Con (longtycon,
++                                                     Vector.new0 ())(*#line 4360.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 138, ( result, longtycon1left, longtycon1right), rest671)
++end
++|  ( 293, ( ( _, ( MlyValue.ty ty1, _, ty1right)) :: _ :: ( _, ( MlyValue.field field1, (fieldleft as field1left), fieldright)) :: rest671)) => let val  result = MlyValue.tlabel (fn _ => let val  (field as field1) = field1 ()
++ val  (ty as ty1) = ty1 ()
++ in ((*#line 1229.34 "ml.grm"*)field, (reg (fieldleft, fieldright), ty)(*#line 4367.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 130, ( result, field1left, ty1right), rest671)
++end
++|  ( 294, ( ( _, ( MlyValue.tlabels tlabels1, _, tlabels1right)) :: _ :: ( _, ( MlyValue.tlabel tlabel1, tlabel1left, _)) :: rest671)) => let val  result = MlyValue.tlabels (fn _ => let val  (tlabel as tlabel1) = tlabel1 ()
++ val  (tlabels as tlabels1) = tlabels1 ()
++ in ((*#line 1231.34 "ml.grm"*)tlabel :: tlabels(*#line 4374.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 131, ( result, tlabel1left, tlabels1right), rest671)
++end
++|  ( 295, ( ( _, ( MlyValue.tlabel tlabel1, tlabel1left, tlabel1right)) :: rest671)) => let val  result = MlyValue.tlabels (fn _ => let val  (tlabel as tlabel1) = tlabel1 ()
++ in ((*#line 1232.34 "ml.grm"*)[tlabel](*#line 4381.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 131, ( result, tlabel1left, tlabel1right), rest671)
++end
++|  ( 296, ( ( _, ( MlyValue.tuple_ty tuple_ty1, _, tuple_ty1right)) :: _ :: ( _, ( MlyValue.ty' ty'1, ty'1left, _)) :: rest671)) => let val  result = MlyValue.tuple_ty (fn _ => let val  (ty' as ty'1) = ty'1 ()
++ val  (tuple_ty as tuple_ty1) = tuple_ty1 ()
++ in ((*#line 1234.42 "ml.grm"*)ty' :: tuple_ty(*#line 4387.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 135, ( result, ty'1left, tuple_ty1right), rest671)
++end
++|  ( 297, ( ( _, ( MlyValue.ty' ty'2, _, ty'2right)) :: _ :: ( _, ( MlyValue.ty' ty'1, ty'1left, _)) :: rest671)) => let val  result = MlyValue.tuple_ty (fn _ => let val  ty'1 = ty'1 ()
++ val  ty'2 = ty'2 ()
++ in ((*#line 1235.42 "ml.grm"*)[ty'1, ty'2](*#line 4394.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 135, ( result, ty'1left, ty'2right), rest671)
++end
++|  ( 298, ( ( _, ( MlyValue.ty ty2, _, ty2right)) :: _ :: ( _, ( MlyValue.ty ty1, ty1left, _)) :: rest671)) => let val  result = MlyValue.ty0_pc (fn _ => let val  ty1 = ty1 ()
++ val  ty2 = ty2 ()
++ in ((*#line 1237.34 "ml.grm"*)[ty1, ty2](*#line 4401.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 139, ( result, ty1left, ty2right), rest671)
++end
++|  ( 299, ( ( _, ( MlyValue.ty0_pc ty0_pc1, _, ty0_pc1right)) :: _ :: ( _, ( MlyValue.ty ty1, ty1left, _)) :: rest671)) => let val  result = MlyValue.ty0_pc (fn _ => let val  (ty as ty1) = ty1 ()
++ val  (ty0_pc as ty0_pc1) = ty0_pc1 ()
++ in ((*#line 1238.34 "ml.grm"*)ty :: ty0_pc(*#line 4408.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 139, ( result, ty1left, ty0_pc1right), rest671)
++end
++|  ( 300, ( rest671)) => let val  result = MlyValue.optbar (fn _ => ((*#line 1245.19 "ml.grm"*)(*#line 4415.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 75, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 301, ( ( _, ( MlyValue.optbar' optbar'1, optbar'1left, optbar'1right)) :: rest671)) => let val  result = MlyValue.optbar (fn _ => let val  optbar'1 = optbar'1 ()
++ in ((*#line 1246.19 "ml.grm"*)(*#line 4419.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 75, ( result, optbar'1left, optbar'1right), rest671)
++end
++|  ( 302, ( ( _, ( _, (BARleft as BAR1left), (BARright as BAR1right))) :: rest671)) => let val  result = MlyValue.optbar' (fn _ => ((*#line 1249.19 "ml.grm"*)if allowOptBar ()
++                    then ()
++                    else error (reg (BARleft, BARright), "Optional bar disallowed, compile with -default-ann 'allowOptBar true'")(*#line 4425.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 76, ( result, BAR1left, BAR1right), rest671)
++end
++|  ( 303, ( rest671)) => let val  result = MlyValue.optsemicolon (fn _ => ((*#line 1254.19 "ml.grm"*)(*#line 4431.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 77, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 304, ( ( _, ( _, (SEMICOLONleft as SEMICOLON1left), (SEMICOLONright as SEMICOLON1right))) :: rest671)) => let val  result = MlyValue.optsemicolon (fn _ => ((*#line 1255.19 "ml.grm"*)if allowOptSemicolon ()
++                    then ()
++                    else error (reg (SEMICOLONleft, SEMICOLONright), "Optional semicolon disallowed, compile with -default-ann 'allowOptSemicolon true'")(*#line 4435.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 77, ( result, SEMICOLON1left, SEMICOLON1right), rest671)
++end
++|  ( 305, ( ( _, ( MlyValue.const const1, const1left, const1right)) :: rest671)) => let val  result = MlyValue.constOrBool (fn _ => let val  (const as const1) = const1 ()
++ in ((*#line 1260.13 "ml.grm"*)const(*#line 4441.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 18, ( result, const1left, const1right), rest671)
++end
++|  ( 306, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.constOrBool (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1262.10 "ml.grm"*)let
++            fun ok b = Const.makeRegion (Const.Bool b, #2 shortAlphanumId)
++         in            
++            case Symbol.toString (#1 shortAlphanumId) of
++               "false" => ok false
++             | "true" => ok true
++             | s => (error (#2 shortAlphanumId, concat ["unknown boolean constant: ", s])
++                     ; ok false)
++         end(*#line 4447.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 18, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 307, ( ( _, ( MlyValue.const' const'1, (const'left as const'1left), (const'right as const'1right))) :: rest671)) => let val  result = MlyValue.const (fn _ => let val  (const' as const'1) = const'1 ()
++ in ((*#line 1272.34 "ml.grm"*)Const.makeRegion
++                                 (const', reg (const'left, const'right))(*#line 4461.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 13, ( result, const'1left, const'1right), rest671)
++end
++|  ( 308, ( ( _, ( MlyValue.int int1, int1left, int1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (int as int1) = int1 ()
++ in ((*#line 1275.34 "ml.grm"*)Const.Int int(*#line 4468.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, int1left, int1right), rest671)
++end
++|  ( 309, ( ( _, ( MlyValue.word word1, word1left, word1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (word as word1) = word1 ()
++ in ((*#line 1276.34 "ml.grm"*)Const.Word word(*#line 4474.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, word1left, word1right), rest671)
++end
++|  ( 310, ( ( _, ( MlyValue.REAL REAL1, REAL1left, REAL1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (REAL as REAL1) = REAL1 ()
++ in ((*#line 1277.34 "ml.grm"*)Const.Real REAL(*#line 4480.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, REAL1left, REAL1right), rest671)
++end
++|  ( 311, ( ( _, ( MlyValue.STRING STRING1, STRING1left, STRING1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (STRING as STRING1) = STRING1 ()
++ in ((*#line 1278.34 "ml.grm"*)Const.String STRING(*#line 4486.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, STRING1left, STRING1right), rest671)
++end
++|  ( 312, ( ( _, ( MlyValue.CHAR CHAR1, CHAR1left, CHAR1right)) :: rest671)) => let val  result = MlyValue.const' (fn _ => let val  (CHAR as CHAR1) = CHAR1 ()
++ in ((*#line 1279.34 "ml.grm"*)Const.Char CHAR(*#line 4492.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, CHAR1left, CHAR1right), rest671)
++end
++|  ( 313, ( ( _, ( MlyValue.STRING STRING1, STRING1left, STRING1right)) :: rest671)) => let val  result = MlyValue.string (fn _ => let val  (STRING as STRING1) = STRING1 ()
++ in ((*#line 1281.19 "ml.grm"*)CharVector.tabulate
++                  (Vector.length STRING, fn i =>
++                   Char.fromInt (Int.fromIntInf (Vector.sub (STRING, i))))(*#line 4498.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 125, ( result, STRING1left, STRING1right), rest671)
++end
++|  ( 314, ( ( _, ( MlyValue.SHORTALPHANUMID SHORTALPHANUMID1, (SHORTALPHANUMIDleft as SHORTALPHANUMID1left), (SHORTALPHANUMIDright as SHORTALPHANUMID1right))) :: rest671)) => let val  result = MlyValue.shortAlphanumId (fn _ => let val  (SHORTALPHANUMID as SHORTALPHANUMID1) = SHORTALPHANUMID1 ()
++ in ((*#line 1288.6 "ml.grm"*)shortIdFromTok (SHORTALPHANUMID, SHORTALPHANUMIDleft, SHORTALPHANUMIDright)(*#line 4506.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 92, ( result, SHORTALPHANUMID1left, SHORTALPHANUMID1right), rest671)
++end
++|  ( 315, ( ( _, ( MlyValue.SHORTSYMID SHORTSYMID1, (SHORTSYMIDleft as SHORTSYMID1left), (SHORTSYMIDright as SHORTSYMID1right))) :: rest671)) => let val  result = MlyValue.shortSymId (fn _ => let val  (SHORTSYMID as SHORTSYMID1) = SHORTSYMID1 ()
++ in ((*#line 1291.6 "ml.grm"*)shortIdFromTok (SHORTSYMID, SHORTSYMIDleft, SHORTSYMIDright)(*#line 4512.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 93, ( result, SHORTSYMID1left, SHORTSYMID1right), rest671)
++end
++|  ( 316, ( ( _, ( MlyValue.LONGALPHANUMID LONGALPHANUMID1, (LONGALPHANUMIDleft as LONGALPHANUMID1left), (LONGALPHANUMIDright as LONGALPHANUMID1right))) :: rest671)) => let val  result = MlyValue.longAlphanumId (fn _ => let val  (LONGALPHANUMID as LONGALPHANUMID1) = LONGALPHANUMID1 ()
++ in ((*#line 1294.6 "ml.grm"*)longIdFromTok (LONGALPHANUMID, LONGALPHANUMIDleft, LONGALPHANUMIDright)(*#line 4518.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 60, ( result, LONGALPHANUMID1left, LONGALPHANUMID1right), rest671)
++end
++|  ( 317, ( ( _, ( MlyValue.LONGSYMID LONGSYMID1, (LONGSYMIDleft as LONGSYMID1left), (LONGSYMIDright as LONGSYMID1right))) :: rest671)) => let val  result = MlyValue.longSymId (fn _ => let val  (LONGSYMID as LONGSYMID1) = LONGSYMID1 ()
++ in ((*#line 1297.6 "ml.grm"*)longIdFromTok (LONGSYMID, LONGSYMIDleft, LONGSYMIDright)(*#line 4524.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 61, ( result, LONGSYMID1left, LONGSYMID1right), rest671)
++end
++|  ( 318, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.vidNoEqual (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1299.32 "ml.grm"*)Vid.fromSymbol shortAlphanumId(*#line 4530.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 156, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 319, ( ( _, ( MlyValue.shortSymId shortSymId1, shortSymId1left, shortSymId1right)) :: rest671)) => let val  result = MlyValue.vidNoEqual (fn _ => let val  (shortSymId as shortSymId1) = shortSymId1 ()
++ in ((*#line 1300.32 "ml.grm"*)Vid.fromSymbol shortSymId(*#line 4536.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 156, ( result, shortSymId1left, shortSymId1right), rest671)
++end
++|  ( 320, ( ( _, ( _, (ASTERISKleft as ASTERISK1left), (ASTERISKright as ASTERISK1right))) :: rest671)) => let val  result = MlyValue.vidNoEqual (fn _ => ((*#line 1301.32 "ml.grm"*)Vid.fromSymbol (Symbol.asterisk,
++                                               reg (ASTERISKleft, ASTERISKright))(*#line 4542.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 156, ( result, ASTERISK1left, ASTERISK1right), rest671)
++end
++|  ( 321, ( ( _, ( _, (EQUALOPleft as EQUALOP1left), (EQUALOPright as EQUALOP1right))) :: rest671)) => let val  result = MlyValue.vidEqual (fn _ => ((*#line 1303.32 "ml.grm"*)Vid.fromSymbol (Symbol.equal,
++                                               reg (EQUALOPleft, EQUALOPright))(*#line 4547.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 155, ( result, EQUALOP1left, EQUALOP1right), rest671)
++end
++|  ( 322, ( ( _, ( MlyValue.vidNoEqual vidNoEqual1, vidNoEqual1left, vidNoEqual1right)) :: rest671)) => let val  result = MlyValue.vid (fn _ => let val  (vidNoEqual as vidNoEqual1) = vidNoEqual1 ()
++ in ((*#line 1305.20 "ml.grm"*)vidNoEqual(*#line 4552.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 154, ( result, vidNoEqual1left, vidNoEqual1right), rest671)
++end
++|  ( 323, ( ( _, ( MlyValue.vidEqual vidEqual1, vidEqual1left, vidEqual1right)) :: rest671)) => let val  result = MlyValue.vid (fn _ => let val  (vidEqual as vidEqual1) = vidEqual1 ()
++ in ((*#line 1306.20 "ml.grm"*)vidEqual(*#line 4558.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 154, ( result, vidEqual1left, vidEqual1right), rest671)
++end
++|  ( 324, ( ( _, ( MlyValue.vidNoEqual vidNoEqual1, vidNoEqual1left, vidNoEqual1right)) :: rest671)) => let val  result = MlyValue.longvidNoEqual (fn _ => let val  (vidNoEqual as vidNoEqual1) = vidNoEqual1 ()
++ in ((*#line 1307.35 "ml.grm"*)Longvid.short vidNoEqual(*#line 4564.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 69, ( result, vidNoEqual1left, vidNoEqual1right), rest671)
++end
++|  ( 325, ( ( _, ( MlyValue.longAlphanumId longAlphanumId1, longAlphanumId1left, longAlphanumId1right)) :: rest671)) => let val  result = MlyValue.longvidNoEqual (fn _ => let val  (longAlphanumId as longAlphanumId1) = longAlphanumId1 ()
++ in ((*#line 1308.35 "ml.grm"*)Longvid.fromSymbols longAlphanumId(*#line 4570.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 69, ( result, longAlphanumId1left, longAlphanumId1right), rest671)
++end
++|  ( 326, ( ( _, ( MlyValue.longSymId longSymId1, longSymId1left, longSymId1right)) :: rest671)) => let val  result = MlyValue.longvidNoEqual (fn _ => let val  (longSymId as longSymId1) = longSymId1 ()
++ in ((*#line 1309.35 "ml.grm"*)Longvid.fromSymbols longSymId(*#line 4576.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 69, ( result, longSymId1left, longSymId1right), rest671)
++end
++|  ( 327, ( ( _, ( MlyValue.vidEqual vidEqual1, vidEqual1left, vidEqual1right)) :: rest671)) => let val  result = MlyValue.longvidEqual (fn _ => let val  (vidEqual as vidEqual1) = vidEqual1 ()
++ in ((*#line 1310.33 "ml.grm"*)Longvid.short vidEqual(*#line 4582.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 68, ( result, vidEqual1left, vidEqual1right), rest671)
++end
++|  ( 328, ( ( _, ( MlyValue.longvidNoEqual longvidNoEqual1, longvidNoEqual1left, longvidNoEqual1right)) :: rest671)) => let val  result = MlyValue.longvid (fn _ => let val  (longvidNoEqual as longvidNoEqual1) = longvidNoEqual1 ()
++ in ((*#line 1311.28 "ml.grm"*)longvidNoEqual(*#line 4588.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 67, ( result, longvidNoEqual1left, longvidNoEqual1right), rest671)
++end
++|  ( 329, ( ( _, ( MlyValue.longvidEqual longvidEqual1, longvidEqual1left, longvidEqual1right)) :: rest671)) => let val  result = MlyValue.longvid (fn _ => let val  (longvidEqual as longvidEqual1) = longvidEqual1 ()
++ in ((*#line 1312.28 "ml.grm"*)longvidEqual(*#line 4594.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 67, ( result, longvidEqual1left, longvidEqual1right), rest671)
++end
++|  ( 330, ( ( _, ( MlyValue.vid vid1, vid1left, vid1right)) :: rest671)) => let val  result = MlyValue.con (fn _ => let val  (vid as vid1) = vid1 ()
++ in ((*#line 1314.13 "ml.grm"*)Vid.toCon vid(*#line 4600.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 12, ( result, vid1left, vid1right), rest671)
++end
++|  ( 331, ( ( _, ( MlyValue.longvid longvid1, longvid1left, longvid1right)) :: rest671)) => let val  result = MlyValue.longcon (fn _ => let val  (longvid as longvid1) = longvid1 ()
++ in ((*#line 1315.21 "ml.grm"*)Longvid.toLongcon longvid(*#line 4606.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 59, ( result, longvid1left, longvid1right), rest671)
++end
++|  ( 332, ( ( _, ( MlyValue.TYVAR TYVAR1, (TYVARleft as TYVAR1left), (TYVARright as TYVAR1right))) :: rest671)) => let val  result = MlyValue.tyvar (fn _ => let val  (TYVAR as TYVAR1) = TYVAR1 ()
++ in ((*#line 1317.17 "ml.grm"*)Tyvar.fromSymbol (Symbol.fromString TYVAR, reg (TYVARleft, TYVARright))(*#line 4612.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 146, ( result, TYVAR1left, TYVAR1right), rest671)
++end
++|  ( 333, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.tycon (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1319.27 "ml.grm"*)Tycon.fromSymbol shortAlphanumId(*#line 4618.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 141, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 334, ( ( _, ( MlyValue.shortSymId shortSymId1, shortSymId1left, shortSymId1right)) :: rest671)) => let val  result = MlyValue.tycon (fn _ => let val  (shortSymId as shortSymId1) = shortSymId1 ()
++ in ((*#line 1320.27 "ml.grm"*)Tycon.fromSymbol shortSymId(*#line 4624.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 141, ( result, shortSymId1left, shortSymId1right), rest671)
++end
++|  ( 335, ( ( _, ( MlyValue.tycon tycon1, tycon1left, tycon1right)) :: rest671)) => let val  result = MlyValue.longtycon (fn _ => let val  (tycon as tycon1) = tycon1 ()
++ in ((*#line 1321.30 "ml.grm"*)Longtycon.short tycon(*#line 4630.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 65, ( result, tycon1left, tycon1right), rest671)
++end
++|  ( 336, ( ( _, ( MlyValue.longAlphanumId longAlphanumId1, longAlphanumId1left, longAlphanumId1right)) :: rest671)) => let val  result = MlyValue.longtycon (fn _ => let val  (longAlphanumId as longAlphanumId1) = longAlphanumId1 ()
++ in ((*#line 1322.30 "ml.grm"*)Longtycon.fromSymbols longAlphanumId(*#line 4636.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 65, ( result, longAlphanumId1left, longAlphanumId1right), rest671)
++end
++|  ( 337, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.idField (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1324.29 "ml.grm"*)shortAlphanumId(*#line 4642.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 57, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 338, ( ( _, ( MlyValue.shortSymId shortSymId1, shortSymId1left, shortSymId1right)) :: rest671)) => let val  result = MlyValue.idField (fn _ => let val  (shortSymId as shortSymId1) = shortSymId1 ()
++ in ((*#line 1325.29 "ml.grm"*)shortSymId(*#line 4648.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 57, ( result, shortSymId1left, shortSymId1right), rest671)
++end
++|  ( 339, ( ( _, ( _, (ASTERISKleft as ASTERISK1left), (ASTERISKright as ASTERISK1right))) :: rest671)) => let val  result = MlyValue.idField (fn _ => ((*#line 1326.29 "ml.grm"*)(Symbol.asterisk,
++                             reg (ASTERISKleft, ASTERISKright))(*#line 4654.1 "ml.grm.sml"*)
++))
++ in ( LrTable.NT 57, ( result, ASTERISK1left, ASTERISK1right), rest671)
++end
++|  ( 340, ( ( _, ( MlyValue.idField idField1, idField1left, idField1right)) :: rest671)) => let val  result = MlyValue.field (fn _ => let val  (idField as idField1) = idField1 ()
++ in ((*#line 1328.29 "ml.grm"*)Field.Symbol (#1 idField)(*#line 4659.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 49, ( result, idField1left, idField1right), rest671)
++end
++|  ( 341, ( ( _, ( MlyValue.numericField numericField1, numericField1left, numericField1right)) :: rest671)) => let val  result = MlyValue.field (fn _ => let val  (numericField as numericField1) = numericField1 ()
++ in ((*#line 1329.29 "ml.grm"*)Field.Int (numericField - 1)(*#line 4665.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 49, ( result, numericField1left, numericField1right), rest671)
++end
++|  ( 342, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.strid (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1331.27 "ml.grm"*)Strid.fromSymbol shortAlphanumId(*#line 4671.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 124, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 343, ( ( _, ( MlyValue.strid strid1, strid1left, strid1right)) :: rest671)) => let val  result = MlyValue.longstrid (fn _ => let val  (strid as strid1) = strid1 ()
++ in ((*#line 1332.30 "ml.grm"*)Longstrid.short strid(*#line 4677.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 62, ( result, strid1left, strid1right), rest671)
++end
++|  ( 344, ( ( _, ( MlyValue.longAlphanumId longAlphanumId1, longAlphanumId1left, longAlphanumId1right)) :: rest671)) => let val  result = MlyValue.longstrid (fn _ => let val  (longAlphanumId as longAlphanumId1) = longAlphanumId1 ()
++ in ((*#line 1333.30 "ml.grm"*)Longstrid.fromSymbols longAlphanumId(*#line 4683.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 62, ( result, longAlphanumId1left, longAlphanumId1right), rest671)
++end
++|  ( 345, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.sigid (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1335.27 "ml.grm"*)Sigid.fromSymbol shortAlphanumId(*#line 4689.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 102, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 346, ( ( _, ( MlyValue.shortAlphanumId shortAlphanumId1, shortAlphanumId1left, shortAlphanumId1right)) :: rest671)) => let val  result = MlyValue.fctid (fn _ => let val  (shortAlphanumId as shortAlphanumId1) = shortAlphanumId1 ()
++ in ((*#line 1336.27 "ml.grm"*)Fctid.fromSymbol shortAlphanumId(*#line 4695.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 48, ( result, shortAlphanumId1left, shortAlphanumId1right), rest671)
++end
++|  ( 347, ( ( _, ( MlyValue.vid vid1, vid1left, vid1right)) :: rest671)) => let val  result = MlyValue.vids (fn _ => let val  (vid as vid1) = vid1 ()
++ in ((*#line 1338.33 "ml.grm"*)[vid](*#line 4701.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 157, ( result, vid1left, vid1right), rest671)
++end
++|  ( 348, ( ( _, ( MlyValue.vids vids1, _, vids1right)) :: ( _, ( MlyValue.vid vid1, vid1left, _)) :: rest671)) => let val  result = MlyValue.vids (fn _ => let val  (vid as vid1) = vid1 ()
++ val  (vids as vids1) = vids1 ()
++ in ((*#line 1339.33 "ml.grm"*)vid::vids(*#line 4707.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 157, ( result, vid1left, vids1right), rest671)
++end
++|  ( 349, ( ( _, ( MlyValue.sigid sigid1, sigid1left, sigid1right)) :: rest671)) => let val  result = MlyValue.sigids (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ in ((*#line 1341.33 "ml.grm"*)[sigid](*#line 4714.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 103, ( result, sigid1left, sigid1right), rest671)
++end
++|  ( 350, ( ( _, ( MlyValue.sigids sigids1, _, sigids1right)) :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigids (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigids as sigids1) = sigids1 ()
++ in ((*#line 1342.33 "ml.grm"*)sigid :: sigids(*#line 4720.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 103, ( result, sigid1left, sigids1right), rest671)
++end
++|  ( 351, ( ( _, ( MlyValue.longstrid longstrid1, longstrid1left, longstrid1right)) :: rest671)) => let val  result = MlyValue.longstrids (fn _ => let val  (longstrid as longstrid1) = longstrid1 ()
++ in ((*#line 1344.37 "ml.grm"*)[longstrid](*#line 4727.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 64, ( result, longstrid1left, longstrid1right), rest671)
++end
++|  ( 352, ( ( _, ( MlyValue.longstrids longstrids1, _, longstrids1right)) :: ( _, ( MlyValue.longstrid longstrid1, longstrid1left, _)) :: rest671)) => let val  result = MlyValue.longstrids (fn _ => let val  (longstrid as longstrid1) = longstrid1 ()
++ val  (longstrids as longstrids1) = longstrids1 ()
++ in ((*#line 1345.37 "ml.grm"*)longstrid :: longstrids(*#line 4733.1 "ml.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 64, ( result, longstrid1left, longstrids1right), rest671)
++end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID
++val extract = fn a => (fn MlyValue.program x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a ()
++end
++end
++structure Tokens : ML_TOKENS =
++struct
++type svalue = ParserData.svalue
++type ('a,'b) token = ('a,'b) Token.token
++fun CHAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(ParserData.MlyValue.CHAR (fn () => i),p1,p2))
++fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(ParserData.MlyValue.INT (fn () => i),p1,p2))
++fun SHORTALPHANUMID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(ParserData.MlyValue.SHORTALPHANUMID (fn () => i),p1,p2))
++fun SHORTSYMID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(ParserData.MlyValue.SHORTSYMID (fn () => i),p1,p2))
++fun LONGALPHANUMID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(ParserData.MlyValue.LONGALPHANUMID (fn () => i),p1,p2))
++fun LONGSYMID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(ParserData.MlyValue.LONGSYMID (fn () => i),p1,p2))
++fun REAL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(ParserData.MlyValue.REAL (fn () => i),p1,p2))
++fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(ParserData.MlyValue.STRING (fn () => i),p1,p2))
++fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(ParserData.MlyValue.TYVAR (fn () => i),p1,p2))
++fun WORD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(ParserData.MlyValue.WORD (fn () => i),p1,p2))
++fun ABSTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(ParserData.MlyValue.VOID,p1,p2))
++fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(ParserData.MlyValue.VOID,p1,p2))
++fun ANDALSO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(ParserData.MlyValue.VOID,p1,p2))
++fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(ParserData.MlyValue.VOID,p1,p2))
++fun AS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(ParserData.MlyValue.VOID,p1,p2))
++fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(ParserData.MlyValue.VOID,p1,p2))
++fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(ParserData.MlyValue.VOID,p1,p2))
++fun CASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(ParserData.MlyValue.VOID,p1,p2))
++fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(ParserData.MlyValue.VOID,p1,p2))
++fun COLONGT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(ParserData.MlyValue.VOID,p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(ParserData.MlyValue.VOID,p1,p2))
++fun DATATYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(ParserData.MlyValue.VOID,p1,p2))
++fun DOTDOTDOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(ParserData.MlyValue.VOID,p1,p2))
++fun ELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(ParserData.MlyValue.VOID,p1,p2))
++fun END (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(ParserData.MlyValue.VOID,p1,p2))
++fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(ParserData.MlyValue.VOID,p1,p2))
++fun EQUALOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(ParserData.MlyValue.VOID,p1,p2))
++fun EQTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(ParserData.MlyValue.VOID,p1,p2))
++fun EXCEPTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(ParserData.MlyValue.VOID,p1,p2))
++fun DO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(ParserData.MlyValue.VOID,p1,p2))
++fun DARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(ParserData.MlyValue.VOID,p1,p2))
++fun FN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(ParserData.MlyValue.VOID,p1,p2))
++fun FUN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(ParserData.MlyValue.VOID,p1,p2))
++fun FUNCTOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(ParserData.MlyValue.VOID,p1,p2))
++fun HANDLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(ParserData.MlyValue.VOID,p1,p2))
++fun HASH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(ParserData.MlyValue.VOID,p1,p2))
++fun HASHLBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(ParserData.MlyValue.VOID,p1,p2))
++fun IF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(ParserData.MlyValue.VOID,p1,p2))
++fun IN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(ParserData.MlyValue.VOID,p1,p2))
++fun INCLUDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(ParserData.MlyValue.VOID,p1,p2))
++fun INFIX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(ParserData.MlyValue.VOID,p1,p2))
++fun INFIXR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(ParserData.MlyValue.VOID,p1,p2))
++fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(ParserData.MlyValue.VOID,p1,p2))
++fun LBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(ParserData.MlyValue.VOID,p1,p2))
++fun LET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(ParserData.MlyValue.VOID,p1,p2))
++fun LOCAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(ParserData.MlyValue.VOID,p1,p2))
++fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(ParserData.MlyValue.VOID,p1,p2))
++fun NONFIX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(ParserData.MlyValue.VOID,p1,p2))
++fun ORELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(ParserData.MlyValue.VOID,p1,p2))
++fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(ParserData.MlyValue.VOID,p1,p2))
++fun OP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(ParserData.MlyValue.VOID,p1,p2))
++fun OPEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(ParserData.MlyValue.VOID,p1,p2))
++fun OVERLOAD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(ParserData.MlyValue.VOID,p1,p2))
++fun RAISE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(ParserData.MlyValue.VOID,p1,p2))
++fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(ParserData.MlyValue.VOID,p1,p2))
++fun RBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(ParserData.MlyValue.VOID,p1,p2))
++fun REC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(ParserData.MlyValue.VOID,p1,p2))
++fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(ParserData.MlyValue.VOID,p1,p2))
++fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(ParserData.MlyValue.VOID,p1,p2))
++fun SHARING (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(ParserData.MlyValue.VOID,p1,p2))
++fun SIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(ParserData.MlyValue.VOID,p1,p2))
++fun SIGNATURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(ParserData.MlyValue.VOID,p1,p2))
++fun STRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(ParserData.MlyValue.VOID,p1,p2))
++fun STRUCTURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(ParserData.MlyValue.VOID,p1,p2))
++fun THEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(ParserData.MlyValue.VOID,p1,p2))
++fun TYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(ParserData.MlyValue.VOID,p1,p2))
++fun VAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(ParserData.MlyValue.VOID,p1,p2))
++fun WHERE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(ParserData.MlyValue.VOID,p1,p2))
++fun WHILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(ParserData.MlyValue.VOID,p1,p2))
++fun WILD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(ParserData.MlyValue.VOID,p1,p2))
++fun WITH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(ParserData.MlyValue.VOID,p1,p2))
++fun WITHTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(ParserData.MlyValue.VOID,p1,p2))
++fun BUILD_CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(ParserData.MlyValue.VOID,p1,p2))
++fun COMMAND_LINE_CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(ParserData.MlyValue.VOID,p1,p2))
++fun CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(ParserData.MlyValue.VOID,p1,p2))
++fun ADDRESS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(ParserData.MlyValue.VOID,p1,p2))
++fun EXPORT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(ParserData.MlyValue.VOID,p1,p2))
++fun IMPORT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(ParserData.MlyValue.VOID,p1,p2))
++fun SYMBOL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(ParserData.MlyValue.VOID,p1,p2))
++fun PRIM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(ParserData.MlyValue.VOID,p1,p2))
++fun SHOW_BASIS (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(ParserData.MlyValue.SHOW_BASIS (fn () => i),p1,p2))
++end
++end
+diff --git a/mlton/front-end/ml.lex.sml.boot b/mlton/front-end/ml.lex.sml.boot
+new file mode 100644
+index 000000000..9d3dda7af
+--- /dev/null
++++ b/mlton/front-end/ml.lex.sml.boot
+@@ -0,0 +1,10996 @@
++(*#line 256.10 "ml.lex"*)functor MLLexFun (structure Tokens : ML_TOKENS)(*#line 1.1 "ml.lex.sml"*)
++=
++   struct
++    structure UserDeclarations =
++      struct
++(*#line 1.1 "ml.lex"*)(* Heavily modified from SML/NJ sources. *)
++
++(* ml.lex
++ *
++ * Copyright 1989 by AT&T Bell Laboratories
++ *
++ * SML/NJ is released under a HPND-style license.
++ * See the file NJ-LICENSE for details.
++ *)
++
++(* Copyright (C) 2009,2016-2017 Matthew Fluet.
++ * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
++ *    Jagannathan, and Stephen Weeks.
++ * Copyright (C) 1997-2000 NEC Research Institute.
++ *
++ * MLton is released under a HPND-style license.
++ * See the file MLton-LICENSE for details.
++ *)
++
++type svalue = Tokens.svalue
++type pos = SourcePos.t
++type lexresult = (svalue, pos) Tokens.token
++type lexarg = {source: Source.t}
++type arg = lexarg
++type ('a,'b) token = ('a,'b) Tokens.token
++
++local
++   open Control.Elaborate
++in
++   val allowLineComments = fn () => current allowLineComments
++   val allowExtendedNumConsts = fn () => current allowExtendedNumConsts
++   val allowExtendedTextConsts = fn () => current allowExtendedTextConsts
++end
++
++fun lastPos (yypos, yytext) = yypos + size yytext - 1
++
++fun tok (t, x, s, l) =
++   let
++      val left = Source.getPos (s, l)
++      val right = Source.getPos (s, lastPos (l, x))
++   in
++      t (left, right)
++   end
++
++fun tok' (t, x, s, l) = tok (fn (l, r) => t (x, l, r), x, s, l)
++
++fun error' (left, right, msg) =
++   Control.errorStr (Region.make {left = left, right = right}, msg)
++fun error (source, left, right, msg) =
++   error' (Source.getPos (source, left), Source.getPos (source, right), msg)
++
++
++(* Comments *)
++local
++   val commentErrors: string list ref = ref []
++   val commentLeft = ref SourcePos.bogus
++   val commentStack: (int -> unit) list ref = ref []
++in
++   fun addCommentError msg =
++      List.push (commentErrors, msg)
++   val inComment = fn () => not (List.isEmpty (!commentStack))
++   fun startComment (source, yypos, th) =
++      if inComment ()
++         then List.push (commentStack, fn _ => th ())
++         else (commentErrors := []
++               ; commentLeft := Source.getPos (source, yypos)
++               ; List.push (commentStack, fn yypos =>
++                            (List.foreach (!commentErrors, fn msg =>
++                                           error' (!commentLeft,
++                                                   Source.getPos (source, yypos),
++                                                   msg))
++                             ; th ())))
++   fun finishComment yypos =
++      (List.pop commentStack) yypos
++end
++
++
++(* Line Directives *)
++local
++   val lineDirCol: int ref = ref ~1
++   val lineDirFile: File.t option ref = ref NONE
++   val lineDirLine: int ref = ref ~1
++in
++   fun startLineDir (source, yypos, th) =
++      let
++         val _ = lineDirCol := ~1
++         val _ = lineDirFile := NONE
++         val _ = lineDirLine := ~1
++      in
++         startComment (source, yypos, th)
++      end
++   fun addLineDirLineCol (line, col) =
++      let
++         val _ = lineDirLine := line
++         val _ = lineDirCol := col
++      in
++         ()
++      end
++   fun addLineDirFile file =
++      let
++         val _ = lineDirFile := SOME file
++      in
++         ()
++      end
++   fun finishLineDir (source, yypos) =
++      let
++         val col = !lineDirCol
++         val file = !lineDirFile
++         val line = !lineDirLine
++         val _ = lineDirCol := ~1
++         val _ = lineDirFile := NONE
++         val _ = lineDirLine := ~1
++      in
++         finishComment yypos
++         ; Source.lineDirective (source, file,
++                                 {lineNum = line,
++                                  lineStart = yypos + 1 - col})
++      end
++end
++
++
++(* Numeric Constants *)
++local
++fun doit (source, yypos, yytext, drop, {extended: string option}, mkTok) =
++   let
++      val left = yypos
++      val right = lastPos (yypos, yytext)
++      val extended =
++         if String.contains (yytext, #"_")
++            then SOME (Option.fold
++                       (extended, "'_' separators", fn (msg1, msg2) =>
++                        msg1 ^ " and " ^ msg2))
++            else extended
++      val _ =
++         case extended of
++            NONE => ()
++          | SOME msg =>
++               if allowExtendedNumConsts ()
++                  then ()
++                  else error (source, left, right,
++                              concat ["Extended numeric constants (using ", msg,
++                                      ") disallowed, compile with -default-ann 'allowExtendedNumConsts true'"])
++   in
++      mkTok (String.keepAll (String.dropPrefix (yytext, drop), fn c => not (c = #"_")),
++             {extended = Option.isSome extended},
++             Source.getPos (source, left), Source.getPos (source, right))
++   end
++in
++fun real (source, yypos, yytext) =
++   doit (source, yypos, yytext, 0, {extended = NONE}, fn (digits, {extended: bool}, l, r) =>
++         Tokens.REAL (digits, l, r))
++fun int (source, yypos, yytext, drop, {extended: string option}, {negate: bool}, radix) =
++   doit (source, yypos, yytext, drop, {extended = extended}, fn (digits, {extended: bool}, l, r) =>
++         Tokens.INT ({digits = digits,
++                      extended = extended,
++                      negate = negate,
++                      radix = radix},
++                     l, r))
++fun word (source, yypos, yytext, drop, {extended: string option}, radix) =
++   doit (source, yypos, yytext, drop, {extended = extended}, fn (digits, {extended: bool}, l, r) =>
++         Tokens.WORD ({digits = digits,
++                       radix = radix},
++                      l, r))
++end
++
++
++(* Text Constants *)
++local
++   val chars: IntInf.t list ref = ref []
++   val inText = ref false
++   val textLeft = ref SourcePos.bogus
++   val textFinishFn: (IntInf.t vector * SourcePos.t * SourcePos.t -> lexresult) ref = ref (fn _ => raise Fail "textFinish")
++in
++   fun startText (tl, tf) =
++      let
++         val _ = chars := []
++         val _ = inText := true
++         val _ = textLeft := tl
++         val _ = textFinishFn := tf
++      in
++         ()
++      end
++   fun finishText textRight =
++      let
++         val cs = Vector.fromListRev (!chars)
++         val tl = !textLeft
++         val tr = textRight
++         val tf = !textFinishFn
++         val _ = chars := []
++         val _ = inText := false
++         val _ = textLeft := SourcePos.bogus
++         val _ = textFinishFn := (fn _ => raise Fail "textFinish")
++      in
++         tf (cs, tl, tr)
++      end
++   val inText = fn () => !inText
++   fun addTextString (s: string) =
++      chars := String.fold (s, !chars, fn (c, ac) => Int.toIntInf (Char.ord c) :: ac)
++   fun addTextCharCode (i: IntInf.int) = List.push (chars, i)
++end
++fun addTextChar (c: char) = addTextString (String.fromChar c)
++fun addTextNumEsc (source, yypos, yytext, drop, {extended: string option}, radix): unit =
++   let
++      val left = yypos
++      val right = lastPos (yypos, yytext)
++      val _ =
++         case extended of
++            NONE => ()
++          | SOME msg =>
++               if allowExtendedTextConsts ()
++                  then ()
++                  else error (source, left, right,
++                              concat ["Extended text constants (using ", msg,
++                                      ") disallowed, compile with -default-ann 'allowExtendedTextConsts true'"])
++   in
++      case StringCvt.scanString (fn r => IntInf.scan (radix, r)) (String.dropPrefix (yytext, drop)) of
++         NONE => error (source, left, right, "Illegal numeric escape in text constant")
++       | SOME i => addTextCharCode i
++   end
++fun addTextUTF8 (source, yypos, yytext): unit =
++   let
++      val left = yypos
++      val right = lastPos (yypos, yytext)
++   in
++      if not (allowExtendedTextConsts ())
++         then error (source, left, right,
++                     "Extended text constants (using UTF-8 byte sequences) disallowed, compile with -default-ann 'allowExtendedTextConsts true'")
++         else addTextString yytext
++   end
++
++
++(* EOF *)
++val eof: lexarg -> lexresult =
++   fn {source, ...} =>
++   let
++      val _ = Source.newline (source, ~1)
++      val pos = Source.getPos (source, ~1)
++      val _ =
++         if inComment ()
++            then error' (pos, SourcePos.bogus, "Unclosed comment at end of file")
++            else ()
++      val _ =
++         if inText ()
++            then error' (pos, SourcePos.bogus, "Unclosed text constant at end of file")
++            else ()
++   in
++      Tokens.EOF (pos, SourcePos.bogus)
++   end
++
++
++(*#line 256.1 "ml.lex.sml"*)
++end (* end of user routines *)
++exception LexError (* raised if illegal leaf action tried *)
++structure Internal =
++	struct
++
++datatype yyfinstate = N of int
++type statedata = {fin : yyfinstate list, trans: int Vector.vector}
++(* transition & final state table *)
++val tab = let
++fun decode s k =
++  let val k' = k + k
++      val hi = Char.ord(String.sub(s, k'))
++      val lo = Char.ord(String.sub(s, k' + 1))
++  in hi * 256 + lo end
++val s = [ 
++ (0,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (1,256, 
++"\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\001\077\001\080\001\077\001\077\001\079\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\001\077\000\200\001\076\001\073\000\200\000\200\000\200\001\071\
++\\001\048\001\047\000\200\000\200\001\046\001\044\001\041\000\200\
++\\001\025\001\022\001\022\001\022\001\022\001\022\001\022\001\022\
++\\001\022\001\022\001\020\001\019\000\200\001\017\000\200\000\200\
++\\000\200\000\045\000\045\000\045\000\045\000\045\000\045\000\045\
++\\000\045\000\045\000\045\000\045\000\045\000\045\000\045\000\045\
++\\000\045\000\045\000\045\000\045\000\045\000\045\000\045\000\045\
++\\000\045\000\045\000\045\001\016\000\200\001\015\000\200\000\201\
++\\000\200\000\186\000\045\000\182\000\173\000\154\000\146\000\045\
++\\000\140\000\128\000\045\000\045\000\121\000\045\000\115\000\105\
++\\000\045\000\045\000\098\000\075\000\068\000\045\000\065\000\050\
++\\000\045\000\045\000\045\000\044\000\043\000\042\000\020\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\
++\\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\019"
++),
++ (3,256, 
++"\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\127\001\081\001\081\001\126\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\091\001\091\001\125\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\092\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\091\
++\\001\091\001\091\001\091\001\091\001\091\001\091\001\091\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081\
++\\001\089\001\089\001\089\001\089\001\089\001\089\001\089\001\089\
++\\001\089\001\089\001\089\001\089\001\089\001\089\001\089\001\089\
++\\001\089\001\089\001\089\001\089\001\089\001\089\001\089\001\089\
++\\001\089\001\089\001\089\001\089\001\089\001\089\001\089\001\089\
++\\001\086\001\086\001\086\001\086\001\086\001\086\001\086\001\086\
++\\001\086\001\086\001\086\001\086\001\086\001\086\001\086\001\086\
++\\001\082\001\082\001\082\001\082\001\082\001\082\001\082\001\082\
++\\001\081\001\081\001\081\001\081\001\081\001\081\001\081\001\081"
++),
++ (5,256, 
++"\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\130\001\133\001\130\001\130\001\132\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\130\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\129\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128\
++\\001\128\001\128\001\128\001\128\001\128\001\128\001\128\001\128"
++),
++ (7,256, 
++"\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\141\001\134\001\134\001\140\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\137\001\134\001\135\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134\
++\\001\134\001\134\001\134\001\134\001\134\001\134\001\134\001\134"
++),
++ (9,256, 
++"\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\144\001\142\001\142\001\143\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142\
++\\001\142\001\142\001\142\001\142\001\142\001\142\001\142\001\142"
++),
++ (11,256, 
++"\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\000\000\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\146\001\146\001\146\001\146\001\146\001\146\001\146\001\146\
++\\001\146\001\146\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145"
++),
++ (13,256, 
++"\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\152\000\000\001\152\001\152\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\152\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\150\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145"
++),
++ (15,256, 
++"\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\157\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\159\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156\
++\\001\156\001\156\001\156\001\156\001\156\001\156\001\156\001\156"
++),
++ (17,256, 
++"\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\160\000\000\001\160\001\160\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\160\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\150\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145\
++\\001\145\001\145\001\145\001\145\001\145\001\145\001\145\001\145"
++),
++ (20,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\035\000\022\000\022\000\022\000\022\000\022\000\022\000\022\
++\\000\022\000\022\000\021\000\000\000\021\000\021\000\021\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (21,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\000\021\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (22,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\
++\\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\
++\\000\022\000\022\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (23,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\
++\\000\025\000\025\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (24,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\
++\\000\025\000\025\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (25,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\
++\\000\025\000\025\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (27,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\
++\\000\022\000\022\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (28,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\029\000\029\000\029\000\029\000\029\000\029\000\029\000\029\
++\\000\029\000\029\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (29,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\029\000\029\000\029\000\029\000\029\000\029\000\029\000\029\
++\\000\029\000\029\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\034\
++\\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (30,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\032\000\032\000\032\000\032\000\032\000\032\000\032\000\032\
++\\000\032\000\032\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (31,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\032\000\032\000\032\000\032\000\032\000\032\000\032\000\032\
++\\000\032\000\032\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (32,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\032\000\032\000\032\000\032\000\032\000\032\000\032\000\032\
++\\000\032\000\032\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\033\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (34,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\029\000\029\000\029\000\029\000\029\000\029\000\029\000\029\
++\\000\029\000\029\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\034\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (35,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\
++\\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\
++\\000\022\000\022\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\
++\\000\000\000\000\000\039\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\036\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (36,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\037\000\037\000\037\000\037\000\037\000\037\000\037\000\037\
++\\000\037\000\037\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\037\000\037\000\037\000\037\000\037\000\037\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\037\000\037\000\037\000\037\000\037\000\037\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (37,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\037\000\037\000\037\000\037\000\037\000\037\000\037\000\037\
++\\000\037\000\037\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\037\000\037\000\037\000\037\000\037\000\037\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\038\
++\\000\000\000\037\000\037\000\037\000\037\000\037\000\037\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (39,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\040\000\040\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (40,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\040\000\040\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\041\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (45,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (47,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\048\000\000\000\048\000\048\000\048\000\048\000\000\
++\\000\000\000\000\000\048\000\048\000\000\000\048\000\000\000\048\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\048\000\000\000\048\000\048\000\048\000\048\
++\\000\048\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\000\000\048\000\000\000\048\000\000\
++\\000\048\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\000\000\048\000\000\000\048\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (48,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\048\000\000\000\048\000\048\000\048\000\048\000\000\
++\\000\000\000\000\000\048\000\048\000\000\000\048\000\000\000\048\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\048\000\000\000\048\000\048\000\048\000\048\
++\\000\048\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\048\000\000\000\048\000\000\
++\\000\048\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\048\000\000\000\048\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (49,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\049\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\000\000\000\000\000\000\000\000\049\
++\\000\000\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\
++\\000\049\000\049\000\049\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (50,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\058\000\051\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (51,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\052\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (52,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\053\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (53,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\054\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (54,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\055\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (55,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\056\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (56,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\057\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (58,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\062\000\046\000\046\
++\\000\046\000\059\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (59,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\060\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (60,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\061\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (62,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\063\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (63,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\064\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (65,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\066\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (66,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\067\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (68,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\072\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\069\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (69,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\070\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (70,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\071\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (72,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\073\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (73,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\074\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (75,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\092\000\084\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\076\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (76,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\077\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (77,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\078\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (78,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\079\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (79,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\080\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (80,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\081\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (81,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\082\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (82,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\083\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (84,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\085\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (85,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\086\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (86,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\087\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (87,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\088\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (88,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\089\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (89,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\090\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (90,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\091\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (92,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\093\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (93,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\094\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (94,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\095\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (95,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\096\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (96,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\097\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (98,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\101\000\046\000\046\000\046\000\099\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (99,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\100\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (101,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\102\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (102,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\103\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (103,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\104\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (105,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\114\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\111\000\046\000\106\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (106,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\107\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (107,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\108\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (108,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\109\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (109,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\110\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (111,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\112\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (112,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\113\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (115,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\116\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (116,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\117\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (117,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\118\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (118,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\119\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (119,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\120\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (121,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\126\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\122\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (122,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\123\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (123,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\124\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (124,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\125\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (126,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\127\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (128,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\139\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\129\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (129,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\134\000\046\000\046\000\130\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (130,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\131\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (131,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\132\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (132,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\133\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (134,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\135\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (135,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\136\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (136,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\137\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (137,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\138\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (140,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\141\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (141,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\142\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (142,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\143\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (143,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\144\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (144,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\145\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (146,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\153\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\147\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (147,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\148\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (148,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\149\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (149,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\150\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (150,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\151\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (151,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\152\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (154,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\170\000\046\000\168\000\046\
++\\000\046\000\163\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\155\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (155,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\156\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (156,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\157\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (157,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\158\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (158,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\159\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (159,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\160\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (160,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\161\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (161,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\162\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (163,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\164\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (164,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\165\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (165,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\166\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (166,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\167\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (168,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\169\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (170,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\171\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (171,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\172\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (173,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\175\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\174\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (175,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\176\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (176,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\177\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (177,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\178\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (178,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\179\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (179,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\180\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (180,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\181\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (182,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\183\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (183,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\184\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (184,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\185\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (186,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\194\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\188\000\046\
++\\000\046\000\046\000\046\000\187\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (188,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\189\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (189,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\190\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (190,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\191\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (191,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\192\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (192,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\193\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (194,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\195\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (195,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\196\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (196,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\197\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (197,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\198\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (198,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\047\000\000\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\046\
++\\000\000\000\046\000\046\000\046\000\046\000\199\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\
++\\000\046\000\046\000\046\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (201,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\008\000\253\000\232\000\000\000\226\000\000\000\000\
++\\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\212\
++\\000\208\000\000\000\000\000\202\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (202,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (203,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\204\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (204,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\205\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (205,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (206,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (208,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (209,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\210\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (210,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (212,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (213,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\214\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (214,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (215,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (216,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (217,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\218\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (218,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\219\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (220,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (221,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (222,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\223\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (223,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\224\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (224,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (226,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\227\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (227,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (228,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (229,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\230\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (230,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\231\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (232,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (233,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\237\000\234\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (234,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\235\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (235,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\236\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (237,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (238,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\239\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (239,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (240,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (241,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\242\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (242,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (243,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\244\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (244,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (245,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\246\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (246,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (247,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\248\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (248,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\249\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (249,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\250\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (250,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\251\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (251,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\252\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (253,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\254\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (254,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\255\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (255,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (256,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\001\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (257,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\002\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (258,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\003\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (259,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\004\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (260,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (261,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\006\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (262,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\007\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (264,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\009\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (265,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\010\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (266,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\011\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (267,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\001\012\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (268,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (269,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\014\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (273,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\001\018\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (276,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\001\021\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (278,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\
++\\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\
++\\001\024\001\024\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (279,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\
++\\001\024\001\024\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (281,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\
++\\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\
++\\001\024\001\024\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\
++\\000\000\000\000\001\038\000\000\000\000\000\023\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\
++\\001\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (282,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\
++\\001\027\001\027\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\027\001\027\001\027\001\027\001\027\001\027\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\027\001\027\001\027\001\027\001\027\001\027\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (283,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\
++\\001\027\001\027\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\027\001\027\001\027\001\027\001\027\001\027\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\028\
++\\000\000\001\027\001\027\001\027\001\027\001\027\001\027\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (285,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\036\001\036\001\036\001\036\001\036\001\036\001\036\001\036\
++\\001\036\001\036\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\033\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (286,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\
++\\001\031\001\031\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\031\001\031\001\031\001\031\001\031\001\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\031\001\031\001\031\001\031\001\031\001\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (287,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\
++\\001\031\001\031\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\031\001\031\001\031\001\031\001\031\001\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\032\
++\\000\000\001\031\001\031\001\031\001\031\001\031\001\031\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (289,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\034\001\034\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (290,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\034\001\034\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\035\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (292,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\036\001\036\001\036\001\036\001\036\001\036\001\036\001\036\
++\\001\036\001\036\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\037\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (294,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\039\001\039\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (295,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\039\001\039\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\040\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (297,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\042\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (298,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\043\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (300,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\000\000\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\001\045\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (304,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\049\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (305,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\051\000\000\000\000\000\000\000\000\
++\\000\000\001\050\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (307,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\066\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\052\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (308,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\053\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (309,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\054\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (310,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\055\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (311,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\056\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (312,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\057\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (313,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\058\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (314,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\059\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (315,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\060\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (316,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\061\000\000\001\061\001\061\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\061\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (317,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\061\000\000\001\061\001\061\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\061\000\000\001\062\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (318,256, 
++"\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\063\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062\
++\\001\062\001\062\001\062\001\062\001\062\001\062\001\062\001\062"
++),
++ (319,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\063\000\000\001\063\001\063\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\063\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\064\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (320,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\065\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (322,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\067\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (323,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\068\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (324,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\001\069\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (325,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\070\000\000\001\070\001\070\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\070\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (327,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\072\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\000\000\000\000\000\000\000\000\001\072\
++\\000\000\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\001\072\001\072\001\072\001\072\001\072\
++\\001\072\001\072\001\072\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (329,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\021\001\075\000\021\000\021\000\021\000\021\000\000\
++\\000\000\000\000\000\021\000\021\000\000\000\021\000\000\000\021\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\021\000\000\000\021\000\021\000\021\000\021\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\001\074\000\021\000\000\000\021\000\000\
++\\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\021\000\000\000\021\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (333,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\078\000\000\001\078\001\078\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\078\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (335,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\080\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (338,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\001\083\001\083\001\083\001\083\001\083\001\083\001\083\001\083\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (339,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\001\084\001\084\001\084\001\084\001\084\001\084\001\084\001\084\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (340,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\001\085\001\085\001\085\001\085\001\085\001\085\001\085\001\085\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (342,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\001\087\001\087\001\087\001\087\001\087\001\087\001\087\001\087\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (343,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\001\088\001\088\001\088\001\088\001\088\001\088\001\088\001\088\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (345,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\001\090\001\090\001\090\001\090\001\090\001\090\001\090\001\090\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (348,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\122\001\124\001\122\001\122\001\123\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\122\000\000\001\121\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\118\001\118\001\118\001\118\001\118\001\118\001\118\001\118\
++\\001\118\001\118\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\001\109\000\000\000\000\
++\\000\000\000\000\000\000\000\000\001\108\000\000\001\105\000\000\
++\\000\000\001\104\001\103\000\000\000\000\000\000\001\102\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\101\000\000\
++\\000\000\000\000\001\100\000\000\001\099\001\094\001\093\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (350,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\095\001\095\001\095\001\095\001\095\001\095\001\095\001\095\
++\\001\095\001\095\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\095\001\095\001\095\001\095\001\095\001\095\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\095\001\095\001\095\001\095\001\095\001\095\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (351,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\096\001\096\001\096\001\096\001\096\001\096\001\096\001\096\
++\\001\096\001\096\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\096\001\096\001\096\001\096\001\096\001\096\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\096\001\096\001\096\001\096\001\096\001\096\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (352,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\097\001\097\001\097\001\097\001\097\001\097\001\097\001\097\
++\\001\097\001\097\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\097\001\097\001\097\001\097\001\097\001\097\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\097\001\097\001\097\001\097\001\097\001\097\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (353,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\098\001\098\001\098\001\098\001\098\001\098\001\098\001\098\
++\\001\098\001\098\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\098\001\098\001\098\001\098\001\098\001\098\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\098\001\098\001\098\001\098\001\098\001\098\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (361,256, 
++"\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\000\000\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\107\001\107\001\107\001\107\001\107\001\107\001\107\001\107\
++\\001\107\001\107\001\107\001\107\001\107\001\107\001\107\001\107\
++\\001\107\001\107\001\107\001\107\001\107\001\107\001\107\001\107\
++\\001\107\001\107\001\107\001\107\001\107\001\107\001\107\001\107\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106\
++\\001\106\001\106\001\106\001\106\001\106\001\106\001\106\001\106"
++),
++ (365,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\110\001\110\001\110\001\110\001\110\001\110\001\110\001\110\
++\\001\110\001\110\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\110\001\110\001\110\001\110\001\110\001\110\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\110\001\110\001\110\001\110\001\110\001\110\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (366,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\111\001\111\001\111\001\111\001\111\001\111\001\111\001\111\
++\\001\111\001\111\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\111\001\111\001\111\001\111\001\111\001\111\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\111\001\111\001\111\001\111\001\111\001\111\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (367,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\112\001\112\001\112\001\112\001\112\001\112\001\112\001\112\
++\\001\112\001\112\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\112\001\112\001\112\001\112\001\112\001\112\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\112\001\112\001\112\001\112\001\112\001\112\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (368,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\113\001\113\001\113\001\113\001\113\001\113\001\113\001\113\
++\\001\113\001\113\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\113\001\113\001\113\001\113\001\113\001\113\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\113\001\113\001\113\001\113\001\113\001\113\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (369,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\114\001\114\001\114\001\114\001\114\001\114\001\114\001\114\
++\\001\114\001\114\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\114\001\114\001\114\001\114\001\114\001\114\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\114\001\114\001\114\001\114\001\114\001\114\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (370,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\115\001\115\001\115\001\115\001\115\001\115\001\115\001\115\
++\\001\115\001\115\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\115\001\115\001\115\001\115\001\115\001\115\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\115\001\115\001\115\001\115\001\115\001\115\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (371,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\116\001\116\001\116\001\116\001\116\001\116\001\116\001\116\
++\\001\116\001\116\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\116\001\116\001\116\001\116\001\116\001\116\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\116\001\116\001\116\001\116\001\116\001\116\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (372,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\117\001\117\001\117\001\117\001\117\001\117\001\117\001\117\
++\\001\117\001\117\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\117\001\117\001\117\001\117\001\117\001\117\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\117\001\117\001\117\001\117\001\117\001\117\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (374,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\119\001\119\001\119\001\119\001\119\001\119\001\119\001\119\
++\\001\119\001\119\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (375,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\120\001\120\001\120\001\120\001\120\001\120\001\120\001\120\
++\\001\120\001\120\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (378,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\122\000\000\001\122\001\122\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\122\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (379,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\124\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (382,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\127\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (386,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\131\000\000\001\131\001\131\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (388,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (391,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (393,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\138\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (394,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\139\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (396,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\141\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (399,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\144\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (402,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\001\148\000\000\
++\\001\147\001\147\001\147\001\147\001\147\001\147\001\147\001\147\
++\\001\147\001\147\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (404,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\149\001\149\001\149\001\149\001\149\001\149\001\149\001\149\
++\\001\149\001\149\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (406,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (408,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\155\000\000\001\155\001\155\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\155\000\000\001\154\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (412,256, 
++"\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\158\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157\
++\\001\157\001\157\001\157\001\157\001\157\001\157\001\157\001\157"
++),
++ (416,256, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\001\161\000\000\001\161\001\161\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++(0, 0, "")]
++fun f(n, i, x) = (n, Vector.tabulate(i, decode x)) 
++val s = Pervasive.List.map f (Pervasive.List.rev (tl (Pervasive.List.rev s))) 
++exception LexHackingError 
++fun look ((j,x)::r, i: int) = if i = j then x else look(r, i) 
++  | look ([], i) = raise LexHackingError
++fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} 
++in Vector.fromList(Pervasive.List.map g 
++[{fin = [], trans = 0},
++{fin = [], trans = 1},
++{fin = [], trans = 1},
++{fin = [], trans = 3},
++{fin = [], trans = 3},
++{fin = [], trans = 5},
++{fin = [], trans = 5},
++{fin = [], trans = 7},
++{fin = [], trans = 7},
++{fin = [], trans = 9},
++{fin = [], trans = 9},
++{fin = [], trans = 11},
++{fin = [], trans = 11},
++{fin = [], trans = 13},
++{fin = [], trans = 13},
++{fin = [], trans = 15},
++{fin = [], trans = 15},
++{fin = [], trans = 17},
++{fin = [], trans = 17},
++{fin = [(N 799)], trans = 0},
++{fin = [(N 427),(N 799)], trans = 20},
++{fin = [(N 427)], trans = 21},
++{fin = [(N 521)], trans = 22},
++{fin = [], trans = 23},
++{fin = [], trans = 24},
++{fin = [(N 512)], trans = 25},
++{fin = [], trans = 25},
++{fin = [], trans = 27},
++{fin = [], trans = 28},
++{fin = [(N 512)], trans = 29},
++{fin = [], trans = 30},
++{fin = [], trans = 31},
++{fin = [(N 512)], trans = 32},
++{fin = [], trans = 32},
++{fin = [], trans = 34},
++{fin = [(N 521)], trans = 35},
++{fin = [], trans = 36},
++{fin = [(N 534)], trans = 37},
++{fin = [], trans = 37},
++{fin = [], trans = 39},
++{fin = [(N 547)], trans = 40},
++{fin = [], trans = 40},
++{fin = [(N 144),(N 799)], trans = 0},
++{fin = [(N 142),(N 427),(N 799)], trans = 21},
++{fin = [(N 140),(N 799)], trans = 0},
++{fin = [(N 386),(N 799)], trans = 45},
++{fin = [(N 386)], trans = 45},
++{fin = [], trans = 47},
++{fin = [(N 486)], trans = 48},
++{fin = [(N 439)], trans = 49},
++{fin = [(N 386),(N 799)], trans = 50},
++{fin = [(N 386)], trans = 51},
++{fin = [(N 386)], trans = 52},
++{fin = [(N 374),(N 386)], trans = 53},
++{fin = [(N 386)], trans = 54},
++{fin = [(N 386)], trans = 55},
++{fin = [(N 386)], trans = 56},
++{fin = [(N 383),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 58},
++{fin = [(N 386)], trans = 59},
++{fin = [(N 386)], trans = 60},
++{fin = [(N 369),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 62},
++{fin = [(N 386)], trans = 63},
++{fin = [(N 363),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 65},
++{fin = [(N 386)], trans = 66},
++{fin = [(N 357),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 68},
++{fin = [(N 386)], trans = 69},
++{fin = [(N 386)], trans = 70},
++{fin = [(N 353),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 72},
++{fin = [(N 386)], trans = 73},
++{fin = [(N 348),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 75},
++{fin = [(N 386)], trans = 76},
++{fin = [(N 386)], trans = 77},
++{fin = [(N 386)], trans = 78},
++{fin = [(N 386)], trans = 79},
++{fin = [(N 333),(N 386)], trans = 80},
++{fin = [(N 386)], trans = 81},
++{fin = [(N 386)], trans = 82},
++{fin = [(N 343),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 84},
++{fin = [(N 316),(N 386)], trans = 85},
++{fin = [(N 386)], trans = 86},
++{fin = [(N 386)], trans = 87},
++{fin = [(N 386)], trans = 88},
++{fin = [(N 386)], trans = 89},
++{fin = [(N 386)], trans = 90},
++{fin = [(N 326),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 92},
++{fin = [(N 386)], trans = 93},
++{fin = [(N 386)], trans = 94},
++{fin = [(N 386)], trans = 95},
++{fin = [(N 386)], trans = 96},
++{fin = [(N 312),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 98},
++{fin = [(N 386)], trans = 99},
++{fin = [(N 304),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 101},
++{fin = [(N 386)], trans = 102},
++{fin = [(N 386)], trans = 103},
++{fin = [(N 300),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 105},
++{fin = [(N 386)], trans = 106},
++{fin = [(N 386)], trans = 107},
++{fin = [(N 386)], trans = 108},
++{fin = [(N 386)], trans = 109},
++{fin = [(N 294),(N 386)], trans = 45},
++{fin = [(N 282),(N 386)], trans = 111},
++{fin = [(N 386)], trans = 112},
++{fin = [(N 287),(N 386)], trans = 45},
++{fin = [(N 279),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 115},
++{fin = [(N 386)], trans = 116},
++{fin = [(N 386)], trans = 117},
++{fin = [(N 386)], trans = 118},
++{fin = [(N 386)], trans = 119},
++{fin = [(N 276),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 121},
++{fin = [(N 386)], trans = 122},
++{fin = [(N 386)], trans = 123},
++{fin = [(N 386)], trans = 124},
++{fin = [(N 269),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 126},
++{fin = [(N 263),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 128},
++{fin = [(N 238),(N 386)], trans = 129},
++{fin = [(N 386)], trans = 130},
++{fin = [(N 386)], trans = 131},
++{fin = [(N 252),(N 386)], trans = 132},
++{fin = [(N 259),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 134},
++{fin = [(N 386)], trans = 135},
++{fin = [(N 386)], trans = 136},
++{fin = [(N 386)], trans = 137},
++{fin = [(N 246),(N 386)], trans = 45},
++{fin = [(N 235),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 140},
++{fin = [(N 386)], trans = 141},
++{fin = [(N 386)], trans = 142},
++{fin = [(N 386)], trans = 143},
++{fin = [(N 386)], trans = 144},
++{fin = [(N 232),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 146},
++{fin = [(N 386)], trans = 147},
++{fin = [(N 217),(N 386)], trans = 148},
++{fin = [(N 386)], trans = 149},
++{fin = [(N 386)], trans = 150},
++{fin = [(N 386)], trans = 151},
++{fin = [(N 225),(N 386)], trans = 45},
++{fin = [(N 213),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 154},
++{fin = [(N 386)], trans = 155},
++{fin = [(N 386)], trans = 156},
++{fin = [(N 386)], trans = 157},
++{fin = [(N 386)], trans = 158},
++{fin = [(N 386)], trans = 159},
++{fin = [(N 386)], trans = 160},
++{fin = [(N 386)], trans = 161},
++{fin = [(N 210),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 163},
++{fin = [(N 386)], trans = 164},
++{fin = [(N 386)], trans = 165},
++{fin = [(N 386)], trans = 166},
++{fin = [(N 200),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 168},
++{fin = [(N 193),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 170},
++{fin = [(N 386)], trans = 171},
++{fin = [(N 189),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 173},
++{fin = [(N 184),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 175},
++{fin = [(N 386)], trans = 176},
++{fin = [(N 386)], trans = 177},
++{fin = [(N 386)], trans = 178},
++{fin = [(N 386)], trans = 179},
++{fin = [(N 386)], trans = 180},
++{fin = [(N 181),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 182},
++{fin = [(N 386)], trans = 183},
++{fin = [(N 386)], trans = 184},
++{fin = [(N 172),(N 386)], trans = 45},
++{fin = [(N 386),(N 799)], trans = 186},
++{fin = [(N 167),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 188},
++{fin = [(N 156),(N 386)], trans = 189},
++{fin = [(N 386)], trans = 190},
++{fin = [(N 386)], trans = 191},
++{fin = [(N 386)], trans = 192},
++{fin = [(N 164),(N 386)], trans = 45},
++{fin = [(N 386)], trans = 194},
++{fin = [(N 386)], trans = 195},
++{fin = [(N 386)], trans = 196},
++{fin = [(N 386)], trans = 197},
++{fin = [(N 386)], trans = 198},
++{fin = [(N 152),(N 386)], trans = 45},
++{fin = [(N 427),(N 799)], trans = 21},
++{fin = [(N 138),(N 799)], trans = 201},
++{fin = [], trans = 202},
++{fin = [], trans = 203},
++{fin = [], trans = 204},
++{fin = [], trans = 205},
++{fin = [], trans = 206},
++{fin = [(N 102)], trans = 0},
++{fin = [], trans = 208},
++{fin = [], trans = 209},
++{fin = [], trans = 210},
++{fin = [(N 94)], trans = 0},
++{fin = [], trans = 212},
++{fin = [], trans = 213},
++{fin = [], trans = 214},
++{fin = [], trans = 215},
++{fin = [], trans = 216},
++{fin = [], trans = 217},
++{fin = [], trans = 218},
++{fin = [(N 88)], trans = 0},
++{fin = [], trans = 220},
++{fin = [], trans = 221},
++{fin = [], trans = 222},
++{fin = [], trans = 223},
++{fin = [], trans = 224},
++{fin = [(N 78)], trans = 0},
++{fin = [], trans = 226},
++{fin = [], trans = 227},
++{fin = [], trans = 228},
++{fin = [], trans = 229},
++{fin = [], trans = 230},
++{fin = [(N 70)], trans = 0},
++{fin = [], trans = 232},
++{fin = [], trans = 233},
++{fin = [], trans = 234},
++{fin = [], trans = 235},
++{fin = [(N 62)], trans = 0},
++{fin = [], trans = 237},
++{fin = [], trans = 238},
++{fin = [], trans = 239},
++{fin = [], trans = 240},
++{fin = [], trans = 241},
++{fin = [], trans = 242},
++{fin = [], trans = 243},
++{fin = [], trans = 244},
++{fin = [], trans = 245},
++{fin = [], trans = 246},
++{fin = [], trans = 247},
++{fin = [], trans = 248},
++{fin = [], trans = 249},
++{fin = [], trans = 250},
++{fin = [], trans = 251},
++{fin = [(N 55)], trans = 0},
++{fin = [], trans = 253},
++{fin = [], trans = 254},
++{fin = [], trans = 255},
++{fin = [], trans = 256},
++{fin = [], trans = 257},
++{fin = [], trans = 258},
++{fin = [], trans = 259},
++{fin = [], trans = 260},
++{fin = [], trans = 261},
++{fin = [], trans = 262},
++{fin = [(N 35)], trans = 0},
++{fin = [], trans = 264},
++{fin = [], trans = 265},
++{fin = [], trans = 266},
++{fin = [], trans = 267},
++{fin = [], trans = 268},
++{fin = [], trans = 269},
++{fin = [(N 22)], trans = 0},
++{fin = [(N 136),(N 799)], trans = 0},
++{fin = [(N 134),(N 799)], trans = 0},
++{fin = [(N 129),(N 427),(N 799)], trans = 273},
++{fin = [(N 132),(N 427)], trans = 21},
++{fin = [(N 127),(N 799)], trans = 0},
++{fin = [(N 122),(N 427),(N 799)], trans = 276},
++{fin = [(N 125),(N 427)], trans = 21},
++{fin = [(N 516),(N 799)], trans = 278},
++{fin = [], trans = 279},
++{fin = [(N 516)], trans = 278},
++{fin = [(N 516),(N 799)], trans = 281},
++{fin = [], trans = 282},
++{fin = [(N 527)], trans = 283},
++{fin = [], trans = 283},
++{fin = [], trans = 285},
++{fin = [], trans = 286},
++{fin = [(N 560)], trans = 287},
++{fin = [], trans = 287},
++{fin = [], trans = 289},
++{fin = [(N 567)], trans = 290},
++{fin = [], trans = 290},
++{fin = [(N 553)], trans = 292},
++{fin = [], trans = 292},
++{fin = [], trans = 294},
++{fin = [(N 540)], trans = 295},
++{fin = [], trans = 295},
++{fin = [(N 799)], trans = 297},
++{fin = [], trans = 298},
++{fin = [(N 120)], trans = 0},
++{fin = [(N 427),(N 799)], trans = 300},
++{fin = [(N 116),(N 427)], trans = 21},
++{fin = [(N 113),(N 799)], trans = 0},
++{fin = [(N 111),(N 799)], trans = 0},
++{fin = [(N 109),(N 799)], trans = 304},
++{fin = [(N 699)], trans = 305},
++{fin = [(N 696)], trans = 0},
++{fin = [], trans = 307},
++{fin = [], trans = 308},
++{fin = [], trans = 309},
++{fin = [], trans = 310},
++{fin = [], trans = 311},
++{fin = [], trans = 312},
++{fin = [], trans = 313},
++{fin = [], trans = 314},
++{fin = [], trans = 315},
++{fin = [], trans = 316},
++{fin = [], trans = 317},
++{fin = [], trans = 318},
++{fin = [], trans = 319},
++{fin = [], trans = 320},
++{fin = [(N 797)], trans = 0},
++{fin = [], trans = 322},
++{fin = [], trans = 323},
++{fin = [], trans = 324},
++{fin = [], trans = 325},
++{fin = [(N 739)], trans = 325},
++{fin = [(N 430),(N 799)], trans = 327},
++{fin = [(N 430)], trans = 327},
++{fin = [(N 104),(N 427),(N 799)], trans = 329},
++{fin = [(N 107)], trans = 0},
++{fin = [(N 572)], trans = 0},
++{fin = [(N 569),(N 799)], trans = 0},
++{fin = [(N 8),(N 799)], trans = 333},
++{fin = [(N 8)], trans = 333},
++{fin = [(N 13),(N 799)], trans = 335},
++{fin = [(N 13)], trans = 0},
++{fin = [(N 674)], trans = 0},
++{fin = [(N 674)], trans = 338},
++{fin = [], trans = 339},
++{fin = [], trans = 340},
++{fin = [(N 591)], trans = 0},
++{fin = [(N 674)], trans = 342},
++{fin = [], trans = 343},
++{fin = [(N 586)], trans = 0},
++{fin = [(N 674)], trans = 345},
++{fin = [(N 582)], trans = 0},
++{fin = [(N 579),(N 674)], trans = 0},
++{fin = [(N 667),(N 674)], trans = 348},
++{fin = [(N 606)], trans = 0},
++{fin = [], trans = 350},
++{fin = [], trans = 351},
++{fin = [], trans = 352},
++{fin = [], trans = 353},
++{fin = [(N 632)], trans = 0},
++{fin = [(N 600)], trans = 0},
++{fin = [(N 612)], trans = 0},
++{fin = [(N 603)], trans = 0},
++{fin = [(N 609)], trans = 0},
++{fin = [(N 597)], trans = 0},
++{fin = [(N 594)], trans = 0},
++{fin = [], trans = 361},
++{fin = [(N 620)], trans = 0},
++{fin = [(N 616),(N 620)], trans = 0},
++{fin = [(N 649)], trans = 0},
++{fin = [], trans = 365},
++{fin = [], trans = 366},
++{fin = [], trans = 367},
++{fin = [], trans = 368},
++{fin = [], trans = 369},
++{fin = [], trans = 370},
++{fin = [], trans = 371},
++{fin = [], trans = 372},
++{fin = [(N 643)], trans = 0},
++{fin = [], trans = 374},
++{fin = [], trans = 375},
++{fin = [(N 625)], trans = 0},
++{fin = [(N 646)], trans = 0},
++{fin = [(N 659)], trans = 378},
++{fin = [(N 665)], trans = 379},
++{fin = [(N 665)], trans = 0},
++{fin = [(N 574),(N 674)], trans = 0},
++{fin = [(N 672),(N 674)], trans = 382},
++{fin = [(N 672)], trans = 0},
++{fin = [(N 692)], trans = 0},
++{fin = [(N 690),(N 692)], trans = 0},
++{fin = [(N 683),(N 692)], trans = 386},
++{fin = [(N 683)], trans = 386},
++{fin = [(N 688),(N 692)], trans = 388},
++{fin = [(N 688)], trans = 0},
++{fin = [(N 723)], trans = 0},
++{fin = [(N 723)], trans = 391},
++{fin = [(N 716)], trans = 0},
++{fin = [(N 723)], trans = 393},
++{fin = [(N 713)], trans = 394},
++{fin = [(N 710)], trans = 0},
++{fin = [(N 721),(N 723)], trans = 396},
++{fin = [(N 721)], trans = 0},
++{fin = [(N 706)], trans = 0},
++{fin = [(N 704),(N 706)], trans = 399},
++{fin = [(N 704)], trans = 0},
++{fin = [(N 767)], trans = 0},
++{fin = [(N 767)], trans = 402},
++{fin = [], trans = 402},
++{fin = [], trans = 404},
++{fin = [(N 745)], trans = 404},
++{fin = [(N 767)], trans = 406},
++{fin = [(N 765)], trans = 0},
++{fin = [(N 767)], trans = 408},
++{fin = [], trans = 406},
++{fin = [(N 755)], trans = 0},
++{fin = [], trans = 408},
++{fin = [(N 767)], trans = 412},
++{fin = [], trans = 412},
++{fin = [(N 758)], trans = 0},
++{fin = [(N 758),(N 767)], trans = 0},
++{fin = [(N 767)], trans = 416},
++{fin = [], trans = 416}])
++end
++structure StartStates =
++	struct
++	datatype yystartstate = STARTSTATE of int
++
++(* start state definitions *)
++
++val BLOCK_COMMENT = STARTSTATE 7;
++val INITIAL = STARTSTATE 1;
++val LINE_COMMENT = STARTSTATE 9;
++val LINE_DIR1 = STARTSTATE 11;
++val LINE_DIR2 = STARTSTATE 13;
++val LINE_DIR3 = STARTSTATE 15;
++val LINE_DIR4 = STARTSTATE 17;
++val TEXT = STARTSTATE 3;
++val TEXT_FMT = STARTSTATE 5;
++
++end
++type result = UserDeclarations.lexresult
++	exception LexerError (* raised if illegal leaf action tried *)
++end
++
++structure YYPosInt : INTEGER = Int
++fun makeLexer yyinput =
++let	val yygone0= YYPosInt.fromInt ~1
++	val yyb = ref "\n" 		(* buffer *)
++	val yybl = ref 1		(*buffer length *)
++	val yybufpos = ref 1		(* location of next character to use *)
++	val yygone = ref yygone0	(* position in file of beginning of buffer *)
++	val yydone = ref false		(* eof found yet? *)
++	val yybegin = ref 1		(*Current 'start state' for lexer *)
++
++	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
++		 yybegin := x
++
++fun lex (yyarg as ((*#line 257.7 "ml.lex"*){source}(*#line 10593.1 "ml.lex.sml"*)
++)) =
++let fun continue() : Internal.result = 
++  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
++	let fun action (i,nil) = raise LexError
++	| action (i,nil::l) = action (i-1,l)
++	| action (i,(node::acts)::l) =
++		case node of
++		    Internal.N yyk => 
++			(let fun yymktext() = String.substring(!yyb,i0,i-i0)
++			     val yypos = YYPosInt.+(YYPosInt.fromInt i0, !yygone)
++			open UserDeclarations Internal.StartStates
++ in (yybufpos := i; case yyk of 
++
++			(* Application actions *)
++
++  102 => let val yytext=yymktext() in (*#line 296.24 "ml.lex"*)tok (Tokens.SYMBOL, yytext, source, yypos)(*#line 10609.1 "ml.lex.sml"*)
++ end
++| 104 => let val yytext=yymktext() in (*#line 298.18 "ml.lex"*)tok (Tokens.HASH, yytext, source, yypos)(*#line 10611.1 "ml.lex.sml"*)
++ end
++| 107 => let val yytext=yymktext() in (*#line 299.19 "ml.lex"*)tok (Tokens.HASHLBRACKET, yytext, source, yypos)(*#line 10613.1 "ml.lex.sml"*)
++ end
++| 109 => let val yytext=yymktext() in (*#line 300.18 "ml.lex"*)tok (Tokens.LPAREN, yytext, source, yypos)(*#line 10615.1 "ml.lex.sml"*)
++ end
++| 111 => let val yytext=yymktext() in (*#line 301.18 "ml.lex"*)tok (Tokens.RPAREN, yytext, source, yypos)(*#line 10617.1 "ml.lex.sml"*)
++ end
++| 113 => let val yytext=yymktext() in (*#line 302.18 "ml.lex"*)tok (Tokens.COMMA, yytext, source, yypos)(*#line 10619.1 "ml.lex.sml"*)
++ end
++| 116 => let val yytext=yymktext() in (*#line 303.19 "ml.lex"*)tok (Tokens.ARROW, yytext, source, yypos)(*#line 10621.1 "ml.lex.sml"*)
++ end
++| 120 => let val yytext=yymktext() in (*#line 304.20 "ml.lex"*)tok (Tokens.DOTDOTDOT, yytext, source, yypos)(*#line 10623.1 "ml.lex.sml"*)
++ end
++| 122 => let val yytext=yymktext() in (*#line 305.18 "ml.lex"*)tok (Tokens.COLON, yytext, source, yypos)(*#line 10625.1 "ml.lex.sml"*)
++ end
++| 125 => let val yytext=yymktext() in (*#line 306.19 "ml.lex"*)tok (Tokens.COLONGT, yytext, source, yypos)(*#line 10627.1 "ml.lex.sml"*)
++ end
++| 127 => let val yytext=yymktext() in (*#line 307.18 "ml.lex"*)tok (Tokens.SEMICOLON, yytext, source, yypos)(*#line 10629.1 "ml.lex.sml"*)
++ end
++| 129 => let val yytext=yymktext() in (*#line 308.18 "ml.lex"*)tok (Tokens.EQUALOP, yytext, source, yypos)(*#line 10631.1 "ml.lex.sml"*)
++ end
++| 13 => let val yytext=yymktext() in (*#line 285.21 "ml.lex"*)Source.newline (source, lastPos (yypos, yytext)); continue ()(*#line 10633.1 "ml.lex.sml"*)
++ end
++| 132 => let val yytext=yymktext() in (*#line 309.19 "ml.lex"*)tok (Tokens.DARROW, yytext, source, yypos)(*#line 10635.1 "ml.lex.sml"*)
++ end
++| 134 => let val yytext=yymktext() in (*#line 310.18 "ml.lex"*)tok (Tokens.LBRACKET, yytext, source, yypos)(*#line 10637.1 "ml.lex.sml"*)
++ end
++| 136 => let val yytext=yymktext() in (*#line 311.18 "ml.lex"*)tok (Tokens.RBRACKET, yytext, source, yypos)(*#line 10639.1 "ml.lex.sml"*)
++ end
++| 138 => let val yytext=yymktext() in (*#line 312.18 "ml.lex"*)tok (Tokens.WILD, yytext, source, yypos)(*#line 10641.1 "ml.lex.sml"*)
++ end
++| 140 => let val yytext=yymktext() in (*#line 313.18 "ml.lex"*)tok (Tokens.LBRACE, yytext, source, yypos)(*#line 10643.1 "ml.lex.sml"*)
++ end
++| 142 => let val yytext=yymktext() in (*#line 314.18 "ml.lex"*)tok (Tokens.BAR, yytext, source, yypos)(*#line 10645.1 "ml.lex.sml"*)
++ end
++| 144 => let val yytext=yymktext() in (*#line 315.18 "ml.lex"*)tok (Tokens.RBRACE, yytext, source, yypos)(*#line 10647.1 "ml.lex.sml"*)
++ end
++| 152 => let val yytext=yymktext() in (*#line 317.24 "ml.lex"*)tok (Tokens.ABSTYPE, yytext, source, yypos)(*#line 10649.1 "ml.lex.sml"*)
++ end
++| 156 => let val yytext=yymktext() in (*#line 318.20 "ml.lex"*)tok (Tokens.AND, yytext, source, yypos)(*#line 10651.1 "ml.lex.sml"*)
++ end
++| 164 => let val yytext=yymktext() in (*#line 319.24 "ml.lex"*)tok (Tokens.ANDALSO, yytext, source, yypos)(*#line 10653.1 "ml.lex.sml"*)
++ end
++| 167 => let val yytext=yymktext() in (*#line 320.19 "ml.lex"*)tok (Tokens.AS, yytext, source, yypos)(*#line 10655.1 "ml.lex.sml"*)
++ end
++| 172 => let val yytext=yymktext() in (*#line 321.21 "ml.lex"*)tok (Tokens.CASE, yytext, source, yypos)(*#line 10657.1 "ml.lex.sml"*)
++ end
++| 181 => let val yytext=yymktext() in (*#line 322.25 "ml.lex"*)tok (Tokens.DATATYPE, yytext, source, yypos)(*#line 10659.1 "ml.lex.sml"*)
++ end
++| 184 => let val yytext=yymktext() in (*#line 323.19 "ml.lex"*)tok (Tokens.DO, yytext, source, yypos)(*#line 10661.1 "ml.lex.sml"*)
++ end
++| 189 => let val yytext=yymktext() in (*#line 324.21 "ml.lex"*)tok (Tokens.ELSE, yytext, source, yypos)(*#line 10663.1 "ml.lex.sml"*)
++ end
++| 193 => let val yytext=yymktext() in (*#line 325.20 "ml.lex"*)tok (Tokens.END, yytext, source, yypos)(*#line 10665.1 "ml.lex.sml"*)
++ end
++| 200 => let val yytext=yymktext() in (*#line 326.23 "ml.lex"*)tok (Tokens.EQTYPE, yytext, source, yypos)(*#line 10667.1 "ml.lex.sml"*)
++ end
++| 210 => let val yytext=yymktext() in (*#line 327.26 "ml.lex"*)tok (Tokens.EXCEPTION, yytext, source, yypos)(*#line 10669.1 "ml.lex.sml"*)
++ end
++| 213 => let val yytext=yymktext() in (*#line 328.19 "ml.lex"*)tok (Tokens.FN, yytext, source, yypos)(*#line 10671.1 "ml.lex.sml"*)
++ end
++| 217 => let val yytext=yymktext() in (*#line 329.20 "ml.lex"*)tok (Tokens.FUN, yytext, source, yypos)(*#line 10673.1 "ml.lex.sml"*)
++ end
++| 22 => let val yytext=yymktext() in (*#line 288.25 "ml.lex"*)tok (Tokens.ADDRESS, yytext, source, yypos)(*#line 10675.1 "ml.lex.sml"*)
++ end
++| 225 => let val yytext=yymktext() in (*#line 330.24 "ml.lex"*)tok (Tokens.FUNCTOR, yytext, source, yypos)(*#line 10677.1 "ml.lex.sml"*)
++ end
++| 232 => let val yytext=yymktext() in (*#line 331.23 "ml.lex"*)tok (Tokens.HANDLE, yytext, source, yypos)(*#line 10679.1 "ml.lex.sml"*)
++ end
++| 235 => let val yytext=yymktext() in (*#line 332.19 "ml.lex"*)tok (Tokens.IF, yytext, source, yypos)(*#line 10681.1 "ml.lex.sml"*)
++ end
++| 238 => let val yytext=yymktext() in (*#line 333.19 "ml.lex"*)tok (Tokens.IN, yytext, source, yypos)(*#line 10683.1 "ml.lex.sml"*)
++ end
++| 246 => let val yytext=yymktext() in (*#line 334.24 "ml.lex"*)tok (Tokens.INCLUDE, yytext, source, yypos)(*#line 10685.1 "ml.lex.sml"*)
++ end
++| 252 => let val yytext=yymktext() in (*#line 335.22 "ml.lex"*)tok (Tokens.INFIX, yytext, source, yypos)(*#line 10687.1 "ml.lex.sml"*)
++ end
++| 259 => let val yytext=yymktext() in (*#line 336.23 "ml.lex"*)tok (Tokens.INFIXR, yytext, source, yypos)(*#line 10689.1 "ml.lex.sml"*)
++ end
++| 263 => let val yytext=yymktext() in (*#line 337.20 "ml.lex"*)tok (Tokens.LET, yytext, source, yypos)(*#line 10691.1 "ml.lex.sml"*)
++ end
++| 269 => let val yytext=yymktext() in (*#line 338.22 "ml.lex"*)tok (Tokens.LOCAL, yytext, source, yypos)(*#line 10693.1 "ml.lex.sml"*)
++ end
++| 276 => let val yytext=yymktext() in (*#line 339.23 "ml.lex"*)tok (Tokens.NONFIX, yytext, source, yypos)(*#line 10695.1 "ml.lex.sml"*)
++ end
++| 279 => let val yytext=yymktext() in (*#line 340.19 "ml.lex"*)tok (Tokens.OF, yytext, source, yypos)(*#line 10697.1 "ml.lex.sml"*)
++ end
++| 282 => let val yytext=yymktext() in (*#line 341.19 "ml.lex"*)tok (Tokens.OP, yytext, source, yypos)(*#line 10699.1 "ml.lex.sml"*)
++ end
++| 287 => let val yytext=yymktext() in (*#line 342.21 "ml.lex"*)tok (Tokens.OPEN, yytext, source, yypos)(*#line 10701.1 "ml.lex.sml"*)
++ end
++| 294 => let val yytext=yymktext() in (*#line 343.23 "ml.lex"*)tok (Tokens.ORELSE, yytext, source, yypos)(*#line 10703.1 "ml.lex.sml"*)
++ end
++| 300 => let val yytext=yymktext() in (*#line 344.22 "ml.lex"*)tok (Tokens.RAISE, yytext, source, yypos)(*#line 10705.1 "ml.lex.sml"*)
++ end
++| 304 => let val yytext=yymktext() in (*#line 345.20 "ml.lex"*)tok (Tokens.REC, yytext, source, yypos)(*#line 10707.1 "ml.lex.sml"*)
++ end
++| 312 => let val yytext=yymktext() in (*#line 346.24 "ml.lex"*)tok (Tokens.SHARING, yytext, source, yypos)(*#line 10709.1 "ml.lex.sml"*)
++ end
++| 316 => let val yytext=yymktext() in (*#line 347.20 "ml.lex"*)tok (Tokens.SIG, yytext, source, yypos)(*#line 10711.1 "ml.lex.sml"*)
++ end
++| 326 => let val yytext=yymktext() in (*#line 348.26 "ml.lex"*)tok (Tokens.SIGNATURE, yytext, source, yypos)(*#line 10713.1 "ml.lex.sml"*)
++ end
++| 333 => let val yytext=yymktext() in (*#line 349.23 "ml.lex"*)tok (Tokens.STRUCT, yytext, source, yypos)(*#line 10715.1 "ml.lex.sml"*)
++ end
++| 343 => let val yytext=yymktext() in (*#line 350.26 "ml.lex"*)tok (Tokens.STRUCTURE, yytext, source, yypos)(*#line 10717.1 "ml.lex.sml"*)
++ end
++| 348 => let val yytext=yymktext() in (*#line 351.21 "ml.lex"*)tok (Tokens.THEN, yytext, source, yypos)(*#line 10719.1 "ml.lex.sml"*)
++ end
++| 35 => let val yytext=yymktext() in (*#line 289.29 "ml.lex"*)tok (Tokens.BUILD_CONST, yytext, source, yypos)(*#line 10721.1 "ml.lex.sml"*)
++ end
++| 353 => let val yytext=yymktext() in (*#line 352.21 "ml.lex"*)tok (Tokens.TYPE, yytext, source, yypos)(*#line 10723.1 "ml.lex.sml"*)
++ end
++| 357 => let val yytext=yymktext() in (*#line 353.20 "ml.lex"*)tok (Tokens.VAL, yytext, source, yypos)(*#line 10725.1 "ml.lex.sml"*)
++ end
++| 363 => let val yytext=yymktext() in (*#line 354.22 "ml.lex"*)tok (Tokens.WHERE, yytext, source, yypos)(*#line 10727.1 "ml.lex.sml"*)
++ end
++| 369 => let val yytext=yymktext() in (*#line 355.22 "ml.lex"*)tok (Tokens.WHILE, yytext, source, yypos)(*#line 10729.1 "ml.lex.sml"*)
++ end
++| 374 => let val yytext=yymktext() in (*#line 356.21 "ml.lex"*)tok (Tokens.WITH, yytext, source, yypos)(*#line 10731.1 "ml.lex.sml"*)
++ end
++| 383 => let val yytext=yymktext() in (*#line 357.25 "ml.lex"*)tok (Tokens.WITHTYPE, yytext, source, yypos)(*#line 10733.1 "ml.lex.sml"*)
++ end
++| 386 => let val yytext=yymktext() in (*#line 360.27 "ml.lex"*)tok' (Tokens.SHORTALPHANUMID, yytext, source, yypos)(*#line 10735.1 "ml.lex.sml"*)
++ end
++| 427 => let val yytext=yymktext() in (*#line 362.5 "ml.lex"*)case yytext of
++       "*" => tok (Tokens.ASTERISK, yytext, source, yypos)
++     | _ => tok' (Tokens.SHORTSYMID, yytext, source, yypos)(*#line 10739.1 "ml.lex.sml"*)
++ end
++| 430 => let val yytext=yymktext() in (*#line 365.24 "ml.lex"*)tok' (Tokens.TYVAR, yytext, source, yypos)(*#line 10741.1 "ml.lex.sml"*)
++ end
++| 439 => let val yytext=yymktext() in (*#line 366.31 "ml.lex"*)tok' (Tokens.LONGALPHANUMID, yytext, source, yypos)(*#line 10743.1 "ml.lex.sml"*)
++ end
++| 486 => let val yytext=yymktext() in (*#line 367.26 "ml.lex"*)tok' (Tokens.LONGSYMID, yytext, source, yypos)(*#line 10745.1 "ml.lex.sml"*)
++ end
++| 512 => let val yytext=yymktext() in (*#line 371.5 "ml.lex"*)real (source, yypos, yytext)(*#line 10747.1 "ml.lex.sml"*)
++ end
++| 516 => let val yytext=yymktext() in (*#line 373.5 "ml.lex"*)int (source, yypos, yytext, 0, {extended = NONE}, {negate = false}, StringCvt.DEC)(*#line 10749.1 "ml.lex.sml"*)
++ end
++| 521 => let val yytext=yymktext() in (*#line 375.5 "ml.lex"*)int (source, yypos, yytext, 1, {extended = NONE}, {negate = true}, StringCvt.DEC)(*#line 10751.1 "ml.lex.sml"*)
++ end
++| 527 => let val yytext=yymktext() in (*#line 377.5 "ml.lex"*)int (source, yypos, yytext, 2, {extended = NONE}, {negate = false}, StringCvt.HEX)(*#line 10753.1 "ml.lex.sml"*)
++ end
++| 534 => let val yytext=yymktext() in (*#line 379.5 "ml.lex"*)int (source, yypos, yytext, 3, {extended = NONE}, {negate = true}, StringCvt.HEX)(*#line 10755.1 "ml.lex.sml"*)
++ end
++| 540 => let val yytext=yymktext() in (*#line 381.5 "ml.lex"*)int (source, yypos, yytext, 2, {extended = SOME "binary notation"}, {negate = false}, StringCvt.BIN)(*#line 10757.1 "ml.lex.sml"*)
++ end
++| 547 => let val yytext=yymktext() in (*#line 383.5 "ml.lex"*)int (source, yypos, yytext, 3, {extended = SOME "binary notation"}, {negate = true}, StringCvt.BIN)(*#line 10759.1 "ml.lex.sml"*)
++ end
++| 55 => let val yytext=yymktext() in (*#line 290.36 "ml.lex"*)tok (Tokens.COMMAND_LINE_CONST, yytext, source, yypos)(*#line 10761.1 "ml.lex.sml"*)
++ end
++| 553 => let val yytext=yymktext() in (*#line 385.5 "ml.lex"*)word (source, yypos, yytext, 2, {extended = NONE}, StringCvt.DEC)(*#line 10763.1 "ml.lex.sml"*)
++ end
++| 560 => let val yytext=yymktext() in (*#line 387.5 "ml.lex"*)word (source, yypos, yytext, 3, {extended = NONE}, StringCvt.HEX)(*#line 10765.1 "ml.lex.sml"*)
++ end
++| 567 => let val yytext=yymktext() in (*#line 389.5 "ml.lex"*)word (source, yypos, yytext, 3, {extended = SOME "binary notation"}, StringCvt.BIN)(*#line 10767.1 "ml.lex.sml"*)
++ end
++| 569 => ((*#line 392.5 "ml.lex"*)startText (Source.getPos (source, yypos), fn (cs, l, r) =>
++               (YYBEGIN INITIAL;
++                Tokens.STRING (cs, l, r)))
++    ; YYBEGIN TEXT
++    ; continue ()(*#line 10773.1 "ml.lex.sml"*)
++)
++| 572 => ((*#line 398.5 "ml.lex"*)startText (Source.getPos (source, yypos), fn (cs, l, r) =>
++               let
++                  fun err () =
++                     error' (l, r, "character constant not of size 1")
++                  val c =
++                     case Int.compare (Vector.length cs, 1) of
++                        LESS => (err (); 0)
++                      | EQUAL => Vector.sub (cs, 0)
++                      | GREATER => (err (); Vector.sub (cs, 0))
++               in
++                  YYBEGIN INITIAL;
++                  Tokens.CHAR (c, l, r)
++               end)
++    ; YYBEGIN TEXT
++    ; continue ()(*#line 10789.1 "ml.lex.sml"*)
++)
++| 574 => let val yytext=yymktext() in (*#line 414.22 "ml.lex"*)finishText (Source.getPos (source, lastPos (yypos, yytext)))(*#line 10791.1 "ml.lex.sml"*)
++ end
++| 579 => let val yytext=yymktext() in (*#line 416.22 "ml.lex"*)addTextString yytext; continue ()(*#line 10793.1 "ml.lex.sml"*)
++ end
++| 582 => let val yytext=yymktext() in (*#line 418.22 "ml.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 10795.1 "ml.lex.sml"*)
++ end
++| 586 => let val yytext=yymktext() in (*#line 420.22 "ml.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 10797.1 "ml.lex.sml"*)
++ end
++| 591 => let val yytext=yymktext() in (*#line 422.22 "ml.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 10799.1 "ml.lex.sml"*)
++ end
++| 594 => ((*#line 423.22 "ml.lex"*)addTextChar #"\a"; continue ()(*#line 10801.1 "ml.lex.sml"*)
++)
++| 597 => ((*#line 424.22 "ml.lex"*)addTextChar #"\b"; continue ()(*#line 10803.1 "ml.lex.sml"*)
++)
++| 600 => ((*#line 425.22 "ml.lex"*)addTextChar #"\t"; continue ()(*#line 10805.1 "ml.lex.sml"*)
++)
++| 603 => ((*#line 426.22 "ml.lex"*)addTextChar #"\n"; continue ()(*#line 10807.1 "ml.lex.sml"*)
++)
++| 606 => ((*#line 427.22 "ml.lex"*)addTextChar #"\v"; continue ()(*#line 10809.1 "ml.lex.sml"*)
++)
++| 609 => ((*#line 428.22 "ml.lex"*)addTextChar #"\f"; continue ()(*#line 10811.1 "ml.lex.sml"*)
++)
++| 612 => ((*#line 429.22 "ml.lex"*)addTextChar #"\r"; continue ()(*#line 10813.1 "ml.lex.sml"*)
++)
++| 616 => let val yytext=yymktext() in (*#line 430.22 "ml.lex"*)addTextChar (Char.chr(Char.ord(String.sub(yytext, 2)) - Char.ord #"@"));
++                     continue ()(*#line 10816.1 "ml.lex.sml"*)
++ end
++| 62 => let val yytext=yymktext() in (*#line 291.23 "ml.lex"*)tok (Tokens.CONST, yytext, source, yypos)(*#line 10818.1 "ml.lex.sml"*)
++ end
++| 620 => ((*#line 432.22 "ml.lex"*)error (source, yypos, yypos + 2, "Illegal control escape in text constant; must be one of @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_");
++                     continue ()(*#line 10821.1 "ml.lex.sml"*)
++)
++| 625 => let val yytext=yymktext() in (*#line 434.22 "ml.lex"*)addTextNumEsc (source, yypos, yytext, 1,
++                                    {extended = NONE}, StringCvt.DEC)
++                     ; continue ()(*#line 10825.1 "ml.lex.sml"*)
++ end
++| 632 => let val yytext=yymktext() in (*#line 438.22 "ml.lex"*)addTextNumEsc (source, yypos, yytext, 2,
++                                    {extended = NONE}, StringCvt.HEX)
++                     ; continue ()(*#line 10829.1 "ml.lex.sml"*)
++ end
++| 643 => let val yytext=yymktext() in (*#line 442.22 "ml.lex"*)addTextNumEsc (source, yypos, yytext, 2,
++                                    {extended = SOME "\\Uxxxxxxxx numeric escapes"},
++                                    StringCvt.HEX)
++                     ; continue ()(*#line 10834.1 "ml.lex.sml"*)
++ end
++| 646 => ((*#line 446.22 "ml.lex"*)addTextString "\""; continue ()(*#line 10836.1 "ml.lex.sml"*)
++)
++| 649 => ((*#line 447.22 "ml.lex"*)addTextString "\\"; continue ()(*#line 10838.1 "ml.lex.sml"*)
++)
++| 659 => ((*#line 448.22 "ml.lex"*)YYBEGIN TEXT_FMT; continue ()(*#line 10840.1 "ml.lex.sml"*)
++)
++| 665 => let val yytext=yymktext() in (*#line 449.22 "ml.lex"*)Source.newline (source, lastPos (yypos, yytext)); YYBEGIN TEXT_FMT; continue ()(*#line 10842.1 "ml.lex.sml"*)
++ end
++| 667 => ((*#line 450.22 "ml.lex"*)error (source, yypos, yypos + 1, "Illegal escape in text constant")
++                     ; continue ()(*#line 10845.1 "ml.lex.sml"*)
++)
++| 672 => let val yytext=yymktext() in (*#line 452.22 "ml.lex"*)error (source, yypos, lastPos (yypos, yytext), "Unclosed text constant at end of line")
++                     ; Source.newline (source, lastPos (yypos, yytext))
++                     ; continue ()(*#line 10849.1 "ml.lex.sml"*)
++ end
++| 674 => ((*#line 455.22 "ml.lex"*)error (source, yypos, yypos, "Illegal character in text constant")
++                     ; continue ()(*#line 10852.1 "ml.lex.sml"*)
++)
++| 683 => ((*#line 458.22 "ml.lex"*)continue ()(*#line 10854.1 "ml.lex.sml"*)
++)
++| 688 => let val yytext=yymktext() in (*#line 459.22 "ml.lex"*)Source.newline (source, lastPos (yypos, yytext)); continue ()(*#line 10856.1 "ml.lex.sml"*)
++ end
++| 690 => ((*#line 460.22 "ml.lex"*)YYBEGIN TEXT; continue ()(*#line 10858.1 "ml.lex.sml"*)
++)
++| 692 => ((*#line 461.22 "ml.lex"*)error (source, yypos, yypos, "Illegal formatting character in text continuation")
++                     ; continue ()(*#line 10861.1 "ml.lex.sml"*)
++)
++| 696 => let val yytext=yymktext() in (*#line 466.5 "ml.lex"*)if allowLineComments ()
++       then ()
++       else error (source, yypos, lastPos (yypos, yytext),
++                   "Line comments disallowed, compile with -default-ann 'allowLineComments true'")
++    ; startComment (source, yypos, fn () =>
++                    YYBEGIN INITIAL)
++    ; YYBEGIN LINE_COMMENT
++    ; continue ()(*#line 10870.1 "ml.lex.sml"*)
++ end
++| 699 => ((*#line 475.5 "ml.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 10875.1 "ml.lex.sml"*)
++)
++| 70 => let val yytext=yymktext() in (*#line 292.24 "ml.lex"*)tok (Tokens.EXPORT, yytext, source, yypos)(*#line 10877.1 "ml.lex.sml"*)
++ end
++| 704 => let val yytext=yymktext() in (*#line 481.5 "ml.lex"*)finishComment (lastPos (yypos, yytext))
++    ; Source.newline (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 10881.1 "ml.lex.sml"*)
++ end
++| 706 => ((*#line 485.5 "ml.lex"*)continue ()(*#line 10883.1 "ml.lex.sml"*)
++)
++| 710 => let val yytext=yymktext() in (*#line 488.5 "ml.lex"*)if allowLineComments ()
++       then ()
++       else error (source, yypos, lastPos (yypos, yytext),
++                   "Line comments disallowed, compile with -default-ann 'allowLineComments true'")
++    ; startComment (source, yypos, fn () =>
++                    YYBEGIN BLOCK_COMMENT)
++    ; YYBEGIN LINE_COMMENT
++    ; continue ()(*#line 10892.1 "ml.lex.sml"*)
++ end
++| 713 => ((*#line 497.5 "ml.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN BLOCK_COMMENT)
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 10897.1 "ml.lex.sml"*)
++)
++| 716 => let val yytext=yymktext() in (*#line 502.5 "ml.lex"*)finishComment (lastPos (yypos,yytext))
++    ; continue ()(*#line 10900.1 "ml.lex.sml"*)
++ end
++| 721 => let val yytext=yymktext() in (*#line 505.5 "ml.lex"*)Source.newline (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 10903.1 "ml.lex.sml"*)
++ end
++| 723 => ((*#line 508.5 "ml.lex"*)continue ()(*#line 10905.1 "ml.lex.sml"*)
++)
++| 739 => ((*#line 512.5 "ml.lex"*)startLineDir (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN LINE_DIR1
++    ; continue ()(*#line 10910.1 "ml.lex.sml"*)
++)
++| 745 => let val yytext=yymktext() in (*#line 518.5 "ml.lex"*)let
++       fun err () =
++          (addCommentError "Illegal line directive"
++           ; YYBEGIN BLOCK_COMMENT)
++     in
++        case String.split (yytext, #".") of
++           [line, col] =>
++              (YYBEGIN LINE_DIR2
++               ; addLineDirLineCol (valOf (Int.fromString line), valOf (Int.fromString col))
++                 handle Overflow => err () | Option => err ()
++               ; continue ())
++         | _ => (err (); continue ())
++     end(*#line 10924.1 "ml.lex.sml"*)
++ end
++| 755 => ((*#line 532.5 "ml.lex"*)YYBEGIN LINE_DIR3
++    ; continue ()(*#line 10927.1 "ml.lex.sml"*)
++)
++| 758 => let val yytext=yymktext() in (*#line 535.5 "ml.lex"*)addLineDirFile (String.dropLast yytext)
++    ; YYBEGIN LINE_DIR4
++    ; continue ()(*#line 10931.1 "ml.lex.sml"*)
++ end
++| 765 => let val yytext=yymktext() in (*#line 539.5 "ml.lex"*)finishLineDir (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 10934.1 "ml.lex.sml"*)
++ end
++| 767 => ((*#line 542.5 "ml.lex"*)addCommentError "Illegal line directive"
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 10938.1 "ml.lex.sml"*)
++)
++| 78 => let val yytext=yymktext() in (*#line 293.24 "ml.lex"*)tok (Tokens.IMPORT, yytext, source, yypos)(*#line 10940.1 "ml.lex.sml"*)
++ end
++| 797 => let val yytext=yymktext() in (*#line 548.5 "ml.lex"*)let
++       val file = List.nth (String.split (yytext, #"\""), 1)
++       val file =
++         if OS.Path.isAbsolute file
++            then file
++            else OS.Path.mkCanonical (OS.Path.concat (OS.Path.dir (Source.name source), file))
++   in
++       tok' (fn (_, l, r) => Tokens.SHOW_BASIS (file, l, r), yytext, source, yypos)
++   end(*#line 10950.1 "ml.lex.sml"*)
++ end
++| 799 => ((*#line 560.5 "ml.lex"*)error (source, yypos, yypos, "Illegal token")
++    ; continue ()(*#line 10953.1 "ml.lex.sml"*)
++)
++| 8 => ((*#line 284.21 "ml.lex"*)continue ()(*#line 10955.1 "ml.lex.sml"*)
++)
++| 88 => let val yytext=yymktext() in (*#line 294.26 "ml.lex"*)tok (Tokens.OVERLOAD, yytext, source, yypos)(*#line 10957.1 "ml.lex.sml"*)
++ end
++| 94 => let val yytext=yymktext() in (*#line 295.22 "ml.lex"*)tok (Tokens.PRIM, yytext, source, yypos)(*#line 10959.1 "ml.lex.sml"*)
++ end
++| _ => raise Internal.LexerError
++
++		) end )
++
++	val {fin,trans} = Vector.sub(Internal.tab, s)
++	val NewAcceptingLeaves = fin::AcceptingLeaves
++	in if l = !yybl then
++	     if trans = #trans(Vector.sub(Internal.tab,0))
++	       then action(l,NewAcceptingLeaves
++) else	    let val newchars= if !yydone then "" else yyinput 1024
++	    in if (String.size newchars)=0
++		  then (yydone := true;
++		        if (l=i0) then UserDeclarations.eof yyarg
++		                  else action(l,NewAcceptingLeaves))
++		  else (if i0=l then yyb := newchars
++		     else yyb := String.substring(!yyb,i0,l-i0)^newchars;
++		     yygone := YYPosInt.+(!yygone, YYPosInt.fromInt i0);
++		     yybl := String.size (!yyb);
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
++	  else let val NewChar = Char.ord(CharVector.sub(!yyb,l))
++		val NewState = Vector.sub(trans, NewChar)
++		in if NewState=0 then action(l,NewAcceptingLeaves)
++		else scan(NewState,NewAcceptingLeaves,l+1,i0)
++	end
++	end
++(*
++	val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
++then !yybegin+1 else !yybegin
++*)
++	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++end
+diff --git a/mlton/front-end/mlb.grm.sig.boot b/mlton/front-end/mlb.grm.sig.boot
+new file mode 100644
+index 000000000..66ca84bf9
+--- /dev/null
++++ b/mlton/front-end/mlb.grm.sig.boot
+@@ -0,0 +1,32 @@
++signature MLB_TOKENS =
++sig
++type ('a,'b) token
++type svalue
++val STRING: (string) *  'a * 'a -> (svalue,'a) token
++val FILE: (string) *  'a * 'a -> (svalue,'a) token
++val PRIM:  'a * 'a -> (svalue,'a) token
++val ANN:  'a * 'a -> (svalue,'a) token
++val STRUCTURE:  'a * 'a -> (svalue,'a) token
++val SIGNATURE:  'a * 'a -> (svalue,'a) token
++val OPEN:  'a * 'a -> (svalue,'a) token
++val LOCAL:  'a * 'a -> (svalue,'a) token
++val LET:  'a * 'a -> (svalue,'a) token
++val IN:  'a * 'a -> (svalue,'a) token
++val FUNCTOR:  'a * 'a -> (svalue,'a) token
++val EQUALOP:  'a * 'a -> (svalue,'a) token
++val END:  'a * 'a -> (svalue,'a) token
++val BASIS:  'a * 'a -> (svalue,'a) token
++val BAS:  'a * 'a -> (svalue,'a) token
++val AND:  'a * 'a -> (svalue,'a) token
++val EOF:  'a * 'a -> (svalue,'a) token
++val SEMICOLON:  'a * 'a -> (svalue,'a) token
++val COMMA:  'a * 'a -> (svalue,'a) token
++val ID: (string) *  'a * 'a -> (svalue,'a) token
++end
++signature MLB_LRVALS=
++sig
++structure Tokens : MLB_TOKENS
++structure ParserData:PARSER_DATA
++sharing type ParserData.Token.token = Tokens.token
++sharing type ParserData.svalue = Tokens.svalue
++end
+diff --git a/mlton/front-end/mlb.grm.sml.boot b/mlton/front-end/mlb.grm.sml.boot
+new file mode 100644
+index 000000000..3843eb289
+--- /dev/null
++++ b/mlton/front-end/mlb.grm.sml.boot
+@@ -0,0 +1,721 @@
++functor MLBLrValsFun (structure Token: TOKEN
++                               structure Ast: AST
++                               val lexAndParseProgOrMLB: File.t * Region.t ->
++                                                         Ast.Basdec.node) = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(*#line 1.2 "mlb.grm"*)(* Copyright (C) 2009 Matthew Fluet.
++ * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
++ *    Jagannathan, and Stephen Weeks.
++ * Copyright (C) 1997-2000 NEC Research Institute.
++ *
++ * MLton is released under a HPND-style license.
++ * See the file MLton-LICENSE for details.
++ *)
++
++fun reg (left, right) = Region.make {left = left, right = right}
++fun error (reg, msg) = Control.error (reg, Layout.str msg, Layout.empty)
++
++open Ast
++
++type fctbinds = {lhs: Fctid.t, rhs: Fctid.t} list
++type sigbinds = {lhs: Sigid.t, rhs: Sigid.t} list
++type strbinds = {lhs: Strid.t, rhs: Strid.t} list
++
++type basbinds = {name: Basid.t, def: Basexp.t} list
++
++  
++(*#line 31.1 "mlb.grm.sml"*)
++end
++structure LrTable = Token.LrTable
++structure Token = Token
++local open LrTable in 
++val table=let val actionRows =
++"\
++\\001\000\001\000\025\000\000\000\
++\\001\000\001\000\025\000\006\000\070\000\012\000\069\000\000\000\
++\\001\000\004\000\000\000\000\000\
++\\001\000\008\000\071\000\000\000\
++\\001\000\008\000\074\000\000\000\
++\\001\000\008\000\082\000\000\000\
++\\001\000\008\000\084\000\000\000\
++\\001\000\009\000\053\000\000\000\
++\\001\000\011\000\039\000\000\000\
++\\001\000\011\000\049\000\000\000\
++\\001\000\011\000\081\000\000\000\
++\\001\000\020\000\021\000\000\000\
++\\086\000\000\000\
++\\087\000\000\000\
++\\088\000\003\000\017\000\007\000\016\000\010\000\015\000\013\000\014\000\
++\\014\000\013\000\015\000\012\000\016\000\011\000\017\000\010\000\
++\\018\000\009\000\019\000\008\000\020\000\007\000\000\000\
++\\089\000\000\000\
++\\090\000\000\000\
++\\091\000\000\000\
++\\092\000\000\000\
++\\093\000\000\000\
++\\094\000\000\000\
++\\095\000\000\000\
++\\096\000\000\000\
++\\097\000\000\000\
++\\098\000\000\000\
++\\099\000\000\000\
++\\100\000\000\000\
++\\101\000\000\000\
++\\102\000\000\000\
++\\103\000\000\000\
++\\104\000\000\000\
++\\105\000\005\000\052\000\000\000\
++\\105\000\005\000\052\000\009\000\051\000\000\000\
++\\106\000\000\000\
++\\107\000\000\000\
++\\108\000\000\000\
++\\109\000\000\000\
++\\110\000\005\000\047\000\000\000\
++\\110\000\005\000\047\000\009\000\046\000\000\000\
++\\111\000\000\000\
++\\112\000\000\000\
++\\113\000\000\000\
++\\114\000\000\000\
++\\115\000\005\000\044\000\000\000\
++\\115\000\005\000\044\000\009\000\043\000\000\000\
++\\116\000\000\000\
++\\117\000\000\000\
++\\118\000\000\000\
++\\119\000\005\000\077\000\000\000\
++\\120\000\000\000\
++\\121\000\000\000\
++\\122\000\000\000\
++\\123\000\000\000\
++\\124\000\000\000\
++\\125\000\000\000\
++\\126\000\001\000\025\000\000\000\
++\\127\000\000\000\
++\\128\000\000\000\
++\\129\000\000\000\
++\\130\000\000\000\
++\\131\000\000\000\
++\\132\000\000\000\
++\\133\000\000\000\
++\\134\000\020\000\021\000\000\000\
++\\135\000\000\000\
++\"
++val actionRowNumbers =
++"\014\000\013\000\012\000\017\000\
++\\014\000\025\000\024\000\026\000\
++\\011\000\000\000\000\000\000\000\
++\\014\000\000\000\000\000\014\000\
++\\016\000\008\000\063\000\061\000\
++\\044\000\020\000\059\000\060\000\
++\\038\000\019\000\058\000\054\000\
++\\023\000\055\000\009\000\057\000\
++\\032\000\018\000\007\000\021\000\
++\\015\000\014\000\062\000\064\000\
++\\041\000\000\000\000\000\035\000\
++\\000\000\000\000\056\000\014\000\
++\\029\000\000\000\000\000\001\000\
++\\003\000\043\000\040\000\045\000\
++\\037\000\034\000\039\000\004\000\
++\\031\000\028\000\033\000\052\000\
++\\050\000\048\000\046\000\014\000\
++\\014\000\027\000\042\000\036\000\
++\\022\000\030\000\047\000\000\000\
++\\010\000\005\000\049\000\001\000\
++\\051\000\006\000\053\000\002\000"
++val gotoT =
++"\
++\\007\000\004\000\008\000\003\000\009\000\002\000\010\000\001\000\
++\\020\000\083\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\004\000\008\000\003\000\009\000\016\000\010\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\001\000\018\000\002\000\017\000\000\000\
++\\019\000\022\000\025\000\021\000\028\000\020\000\000\000\
++\\019\000\026\000\021\000\025\000\024\000\024\000\000\000\
++\\013\000\029\000\014\000\028\000\019\000\027\000\000\000\
++\\007\000\004\000\008\000\003\000\009\000\030\000\010\000\001\000\000\000\
++\\015\000\033\000\018\000\032\000\019\000\031\000\000\000\
++\\004\000\035\000\013\000\034\000\019\000\027\000\000\000\
++\\007\000\004\000\008\000\003\000\009\000\036\000\010\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\001\000\018\000\002\000\039\000\003\000\038\000\000\000\
++\\000\000\
++\\027\000\040\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\023\000\043\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\013\000\029\000\014\000\046\000\019\000\027\000\000\000\
++\\000\000\
++\\000\000\
++\\017\000\048\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\004\000\008\000\003\000\009\000\052\000\010\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\019\000\022\000\026\000\054\000\028\000\053\000\000\000\
++\\019\000\022\000\025\000\055\000\028\000\020\000\000\000\
++\\000\000\
++\\019\000\026\000\022\000\057\000\024\000\056\000\000\000\
++\\019\000\026\000\021\000\058\000\024\000\024\000\000\000\
++\\000\000\
++\\007\000\004\000\008\000\003\000\009\000\059\000\010\000\001\000\000\000\
++\\000\000\
++\\016\000\061\000\018\000\060\000\019\000\031\000\000\000\
++\\015\000\062\000\018\000\032\000\019\000\031\000\000\000\
++\\005\000\066\000\011\000\065\000\012\000\064\000\013\000\063\000\
++\\019\000\027\000\000\000\
++\\000\000\
++\\027\000\070\000\000\000\
++\\000\000\
++\\000\000\
++\\023\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\017\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\006\000\074\000\000\000\
++\\000\000\
++\\007\000\004\000\008\000\003\000\009\000\076\000\010\000\001\000\000\000\
++\\007\000\004\000\008\000\003\000\009\000\077\000\010\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\004\000\078\000\013\000\034\000\019\000\027\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\011\000\081\000\012\000\064\000\013\000\063\000\019\000\027\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 84
++val numrules = 50
++val s = ref "" and index = ref 0
++val string_to_int = fn () => 
++let val i = !index
++in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
++end
++val string_to_list = fn s' =>
++    let val len = String.size s'
++        fun f () =
++           if !index < len then string_to_int() :: f()
++           else nil
++   in index := 0; s := s'; f ()
++   end
++val string_to_pairlist = fn (conv_key,conv_entry) =>
++     let fun f () =
++         case string_to_int()
++         of 0 => EMPTY
++          | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
++     in f
++     end
++val string_to_pairlist_default = fn (conv_key,conv_entry) =>
++    let val conv_row = string_to_pairlist(conv_key,conv_entry)
++    in fn () =>
++       let val default = conv_entry(string_to_int())
++           val row = conv_row()
++       in (row,default)
++       end
++   end
++val string_to_table = fn (convert_row,s') =>
++    let val len = String.size s'
++        fun f ()=
++           if !index < len then convert_row() :: f()
++           else nil
++     in (s := s'; index := 0; f ())
++     end
++local
++  val memo = Array.array(numstates+numrules,ERROR)
++  val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
++       fun f i =
++            if i=numstates then g i
++            else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
++          in f 0 handle Pervasive.General.Subscript => ()
++          end
++in
++val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
++end
++val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
++val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
++val actionRowNumbers = string_to_list actionRowNumbers
++val actionT = let val actionRowLookUp=
++let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
++in Array.fromList(Pervasive.List.map actionRowLookUp actionRowNumbers)
++end
++in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
++numStates=numstates,initialState=STATE 0}
++end
++end
++local open Header in
++type pos = SourcePos.t
++type arg = unit
++structure MlyValue = 
++struct
++datatype svalue = VOID | ntVOID of unit ->  unit | STRING of unit ->  (string) | FILE of unit ->  (string) | ID of unit ->  (string) | strid of unit ->  (Strid.t) | strbinds'' of unit ->  (strbinds) | strbinds' of unit ->  (Strid.t*strbinds) | strbinds of unit ->  (strbinds) | sigid of unit ->  (Sigid.t) | sigbinds'' of unit ->  (sigbinds) | sigbinds' of unit ->  (Sigid.t*sigbinds) | sigbinds of unit ->  (sigbinds) | mlb of unit ->  (Basdec.t) | id of unit ->  (Symbol.t*Region.t) | fctid of unit ->  (Fctid.t) | fctbinds'' of unit ->  (fctbinds) | fctbinds' of unit ->  (Fctid.t*fctbinds) | fctbinds of unit ->  (fctbinds) | basids of unit ->  (Basid.t list) | basid of unit ->  (Basid.t) | basexpnode of unit ->  (Basexp.node) | basexp of unit ->  (Basexp.t) | basdecsnode of unit ->  (Basdec.node) | basdecs of unit ->  (Basdec.t) | basdecnode of unit ->  (Basdec.node) | basdec of unit ->  (Basdec.t) | basbinds'' of unit ->  (basbinds) | basbinds' of unit ->  (Basexp.t*basbinds) | basbinds of unit ->  (basbinds) | annStar of unit ->  ( ( string * Region.t )  list) | annPlus of unit ->  ( ( string * Region.t )  list) | ann of unit ->  (string*Region.t)
++end
++type svalue = MlyValue.svalue
++type result = Basdec.t
++end
++structure EC=
++struct
++open LrTable
++infix 5 $$
++fun x $$ y = y::x
++val is_keyword =
++fn (T 4) => true | (T 5) => true | (T 6) => true | (T 7) => true | (T 9) => true | (T 10) => true | (T 11) => true | (T 12) => true | (T 13) => true | (T 14) => true | (T 15) => true | (T 16) => true | (T 17) => true | _ => false
++val preferred_change : (term list * term list) list = 
++(nil
++,nil
++ $$ (T 2))::
++(nil
++,nil
++ $$ (T 7) $$ (T 0) $$ (T 10))::
++nil
++val noShift = 
++fn (T 3) => true | _ => false
++val showTerminal =
++fn (T 0) => "ID"
++  | (T 1) => "COMMA"
++  | (T 2) => "SEMICOLON"
++  | (T 3) => "EOF"
++  | (T 4) => "AND"
++  | (T 5) => "BAS"
++  | (T 6) => "BASIS"
++  | (T 7) => "END"
++  | (T 8) => "EQUALOP"
++  | (T 9) => "FUNCTOR"
++  | (T 10) => "IN"
++  | (T 11) => "LET"
++  | (T 12) => "LOCAL"
++  | (T 13) => "OPEN"
++  | (T 14) => "SIGNATURE"
++  | (T 15) => "STRUCTURE"
++  | (T 16) => "ANN"
++  | (T 17) => "PRIM"
++  | (T 18) => "FILE"
++  | (T 19) => "STRING"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn (T 0) => MlyValue.ID(fn () => ("bogus")) | 
++_ => MlyValue.VOID
++end
++val terms : term list = nil
++ $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 14) $$ (T 13) $$ (T 12) $$ (T 11) $$ (T 10) $$ (T 9) $$ (T 8) $$ (T 7) $$ (T 6) $$ (T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1)end
++structure Actions =
++struct 
++exception mlyAction of int
++local open Header in
++val actions = 
++fn (i392,defaultPos,stack,
++    (()):arg) =>
++case (i392,stack)
++of  ( 0, ( ( _, ( MlyValue.basdecs basdecs1, basdecs1left, basdecs1right)) :: rest671)) => let val  result = MlyValue.mlb (fn _ => let val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 80.16 "mlb.grm"*)basdecs(*#line 339.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 19, ( result, basdecs1left, basdecs1right), rest671)
++end
++|  ( 1, ( ( _, ( MlyValue.basdecsnode basdecsnode1, (basdecsnodeleft as basdecsnode1left), (basdecsnoderight as basdecsnode1right))) :: rest671)) => let val  result = MlyValue.basdecs (fn _ => let val  (basdecsnode as basdecsnode1) = basdecsnode1 ()
++ in ((*#line 83.24 "mlb.grm"*)Basdec.makeRegion' 
++                       (basdecsnode, basdecsnodeleft, basdecsnoderight)(*#line 345.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 8, ( result, basdecsnode1left, basdecsnode1right), rest671)
++end
++|  ( 2, ( rest671)) => let val  result = MlyValue.basdecsnode (fn _ => ((*#line 86.35 "mlb.grm"*)Basdec.Seq [](*#line 352.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 9, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 3, ( ( _, ( MlyValue.basdecs basdecs1, _, basdecs1right)) :: ( _, ( _, SEMICOLON1left, _)) :: rest671)) => let val  result = MlyValue.basdecsnode (fn _ => let val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 87.35 "mlb.grm"*)Basdec.Seq [basdecs](*#line 356.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, SEMICOLON1left, basdecs1right), rest671)
++end
++|  ( 4, ( ( _, ( MlyValue.basdecs basdecs1, _, basdecs1right)) :: ( _, ( MlyValue.basdec basdec1, basdec1left, _)) :: rest671)) => let val  result = MlyValue.basdecsnode (fn _ => let val  (basdec as basdec1) = basdec1 ()
++ val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 88.35 "mlb.grm"*)Basdec.Seq [basdec, basdecs](*#line 362.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, basdec1left, basdecs1right), rest671)
++end
++|  ( 5, ( ( _, ( MlyValue.basdecnode basdecnode1, (basdecnodeleft as basdecnode1left), (basdecnoderight as basdecnode1right))) :: rest671)) => let val  result = MlyValue.basdec (fn _ => let val  (basdecnode as basdecnode1) = basdecnode1 ()
++ in ((*#line 90.22 "mlb.grm"*)Basdec.makeRegion'
++                     (basdecnode, basdecnodeleft, basdecnoderight)(*#line 369.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 6, ( result, basdecnode1left, basdecnode1right), rest671)
++end
++|  ( 6, ( ( _, ( MlyValue.fctbinds fctbinds1, _, (fctbindsright as fctbinds1right))) :: ( _, ( _, (FUNCTORleft as FUNCTOR1left), _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (fctbinds as fctbinds1) = fctbinds1 ()
++ in ((*#line 95.7 "mlb.grm"*)let 
++         val fctbinds = Vector.fromList fctbinds
++      in 
++         Basdec.Defs (ModIdBind.makeRegion' (ModIdBind.Fct fctbinds, FUNCTORleft, fctbindsright))
++      end(*#line 376.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, FUNCTOR1left, fctbinds1right), rest671)
++end
++|  ( 7, ( ( _, ( MlyValue.sigbinds sigbinds1, _, (sigbindsright as sigbinds1right))) :: ( _, ( _, (SIGNATUREleft as SIGNATURE1left), _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (sigbinds as sigbinds1) = sigbinds1 ()
++ in ((*#line 101.7 "mlb.grm"*)let
++         val sigbinds = Vector.fromList sigbinds
++      in
++         Basdec.Defs (ModIdBind.makeRegion' (ModIdBind.Sig sigbinds, SIGNATUREleft, sigbindsright))
++      end(*#line 386.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, SIGNATURE1left, sigbinds1right), rest671)
++end
++|  ( 8, ( ( _, ( MlyValue.strbinds strbinds1, _, (strbindsright as strbinds1right))) :: ( _, ( _, (STRUCTUREleft as STRUCTURE1left), _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (strbinds as strbinds1) = strbinds1 ()
++ in ((*#line 107.7 "mlb.grm"*)let
++         val strbinds = Vector.fromList strbinds
++      in
++         Basdec.Defs (ModIdBind.makeRegion' (ModIdBind.Str strbinds, STRUCTUREleft, strbindsright))
++      end(*#line 396.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, STRUCTURE1left, strbinds1right), rest671)
++end
++|  ( 9, ( ( _, ( MlyValue.basbinds basbinds1, _, basbinds1right)) :: ( _, ( _, BASIS1left, _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (basbinds as basbinds1) = basbinds1 ()
++ in ((*#line 113.7 "mlb.grm"*)let
++         val basbinds = Vector.fromList basbinds
++      in
++         Basdec.Basis basbinds
++      end(*#line 406.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, BASIS1left, basbinds1right), rest671)
++end
++|  ( 10, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.basdecs basdecs2, _, _)) :: _ :: ( _, ( MlyValue.basdecs basdecs1, _, _)) :: ( _, ( _, LOCAL1left, _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  basdecs1 = basdecs1 ()
++ val  basdecs2 = basdecs2 ()
++ in ((*#line 118.37 "mlb.grm"*)Basdec.Local (basdecs1, basdecs2)(*#line 416.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, LOCAL1left, END1right), rest671)
++end
++|  ( 11, ( ( _, ( MlyValue.basids basids1, _, basids1right)) :: ( _, ( _, OPEN1left, _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (basids as basids1) = basids1 ()
++ in ((*#line 119.20 "mlb.grm"*)Basdec.Open (Vector.fromList basids)(*#line 423.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, OPEN1left, basids1right), rest671)
++end
++|  ( 12, ( ( _, ( MlyValue.FILE FILE1, (FILEleft as FILE1left), (FILEright as FILE1right))) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (FILE as FILE1) = FILE1 ()
++ in ((*#line 121.7 "mlb.grm"*)let val reg = reg (FILEleft, FILEright)
++      in lexAndParseProgOrMLB (FILE, reg)
++      end(*#line 429.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, FILE1left, FILE1right), rest671)
++end
++|  ( 13, ( ( _, ( MlyValue.STRING STRING1, (STRINGleft as STRING1left), (STRINGright as STRING1right))) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (STRING as STRING1) = STRING1 ()
++ in ((*#line 125.7 "mlb.grm"*)let val reg = reg (STRINGleft, STRINGright)
++      in lexAndParseProgOrMLB (STRING, reg)
++      end(*#line 437.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, STRING1left, STRING1right), rest671)
++end
++|  ( 14, ( ( _, ( _, PRIM1left, PRIM1right)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => ((*#line 128.12 "mlb.grm"*)Basdec.Prim(*#line 445.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 7, ( result, PRIM1left, PRIM1right), rest671)
++end
++|  ( 15, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.basdecs basdecs1, _, _)) :: _ :: ( _, ( MlyValue.annPlus annPlus1, _, _)) :: ( _, ( _, ANN1left, _)) :: rest671)) => let val  result = MlyValue.basdecnode (fn _ => let val  (annPlus as annPlus1) = annPlus1 ()
++ val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 130.7 "mlb.grm"*)let 
++        val extendRight = 
++          let val right = valOf (Region.right (Basdec.region basdecs))
++          in fn reg => Region.extendRight (reg, right)
++          end
++        fun mkAnn' ((ann,reg), basdecs) = Basdec.Ann (ann, reg, basdecs)
++        fun mkAnn ((ann,reg), basdecsnode) : Basdec.node =
++          mkAnn' ((ann,reg), Basdec.makeRegion (basdecsnode, extendRight reg))
++        val (anns,ann) = List.splitLast annPlus
++      in
++        List.fold(anns, mkAnn'(ann, basdecs), mkAnn)
++      end(*#line 449.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, ANN1left, END1right), rest671)
++end
++|  ( 16, ( ( _, ( MlyValue.fctbinds' fctbinds'1, _, fctbinds'1right)) :: _ :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.fctbinds (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (fctbinds' as fctbinds'1) = fctbinds'1 ()
++ in ((*#line 145.13 "mlb.grm"*)let val (def, fctbinds) = fctbinds'
++            in {lhs = fctid, rhs = def}
++               :: fctbinds
++            end(*#line 467.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, fctid1left, fctbinds'1right), rest671)
++end
++|  ( 17, ( ( _, ( MlyValue.fctbinds'' fctbinds''1, _, fctbinds''1right)) :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.fctbinds (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (fctbinds'' as fctbinds''1) = fctbinds''1 ()
++ in ((*#line 150.13 "mlb.grm"*){lhs = fctid, rhs = fctid} :: fctbinds''(*#line 477.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, fctid1left, fctbinds''1right), rest671)
++end
++|  ( 18, ( ( _, ( MlyValue.fctbinds'' fctbinds''1, _, fctbinds''1right)) :: ( _, ( MlyValue.fctid fctid1, fctid1left, _)) :: rest671)) => let val  result = MlyValue.fctbinds' (fn _ => let val  (fctid as fctid1) = fctid1 ()
++ val  (fctbinds'' as fctbinds''1) = fctbinds''1 ()
++ in ((*#line 152.32 "mlb.grm"*)fctid, fctbinds''(*#line 484.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 15, ( result, fctid1left, fctbinds''1right), rest671)
++end
++|  ( 19, ( rest671)) => let val  result = MlyValue.fctbinds'' (fn _ => ((*#line 154.29 "mlb.grm"*)[](*#line 491.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 16, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 20, ( ( _, ( MlyValue.fctbinds fctbinds1, _, fctbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.fctbinds'' (fn _ => let val  (fctbinds as fctbinds1) = fctbinds1 ()
++ in ((*#line 155.29 "mlb.grm"*)fctbinds(*#line 495.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, AND1left, fctbinds1right), rest671)
++end
++|  ( 21, ( ( _, ( MlyValue.sigbinds' sigbinds'1, _, sigbinds'1right)) :: _ :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigbinds' as sigbinds'1) = sigbinds'1 ()
++ in ((*#line 158.13 "mlb.grm"*)let val (def, sigbinds) = sigbinds'
++            in {lhs = sigid, rhs = def}
++               :: sigbinds
++            end(*#line 501.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, sigid1left, sigbinds'1right), rest671)
++end
++|  ( 22, ( ( _, ( MlyValue.sigbinds'' sigbinds''1, _, sigbinds''1right)) :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigbinds'' as sigbinds''1) = sigbinds''1 ()
++ in ((*#line 163.13 "mlb.grm"*){lhs = sigid, rhs = sigid} :: sigbinds''(*#line 511.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 20, ( result, sigid1left, sigbinds''1right), rest671)
++end
++|  ( 23, ( ( _, ( MlyValue.sigbinds'' sigbinds''1, _, sigbinds''1right)) :: ( _, ( MlyValue.sigid sigid1, sigid1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds' (fn _ => let val  (sigid as sigid1) = sigid1 ()
++ val  (sigbinds'' as sigbinds''1) = sigbinds''1 ()
++ in ((*#line 165.32 "mlb.grm"*)sigid, sigbinds''(*#line 518.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 21, ( result, sigid1left, sigbinds''1right), rest671)
++end
++|  ( 24, ( rest671)) => let val  result = MlyValue.sigbinds'' (fn _ => ((*#line 167.29 "mlb.grm"*)[](*#line 525.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 22, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 25, ( ( _, ( MlyValue.sigbinds sigbinds1, _, sigbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.sigbinds'' (fn _ => let val  (sigbinds as sigbinds1) = sigbinds1 ()
++ in ((*#line 168.29 "mlb.grm"*)sigbinds(*#line 529.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 22, ( result, AND1left, sigbinds1right), rest671)
++end
++|  ( 26, ( ( _, ( MlyValue.strbinds' strbinds'1, _, strbinds'1right)) :: _ :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strbinds (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (strbinds' as strbinds'1) = strbinds'1 ()
++ in ((*#line 171.13 "mlb.grm"*)let val (def, strbinds) = strbinds'
++            in {lhs = strid, rhs = def}
++               :: strbinds
++            end(*#line 535.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 24, ( result, strid1left, strbinds'1right), rest671)
++end
++|  ( 27, ( ( _, ( MlyValue.strbinds'' strbinds''1, _, strbinds''1right)) :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strbinds (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (strbinds'' as strbinds''1) = strbinds''1 ()
++ in ((*#line 176.13 "mlb.grm"*){lhs = strid, rhs = strid} :: strbinds''(*#line 545.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 24, ( result, strid1left, strbinds''1right), rest671)
++end
++|  ( 28, ( ( _, ( MlyValue.strbinds'' strbinds''1, _, strbinds''1right)) :: ( _, ( MlyValue.strid strid1, strid1left, _)) :: rest671)) => let val  result = MlyValue.strbinds' (fn _ => let val  (strid as strid1) = strid1 ()
++ val  (strbinds'' as strbinds''1) = strbinds''1 ()
++ in ((*#line 178.32 "mlb.grm"*)strid, strbinds''(*#line 552.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 25, ( result, strid1left, strbinds''1right), rest671)
++end
++|  ( 29, ( rest671)) => let val  result = MlyValue.strbinds'' (fn _ => ((*#line 180.29 "mlb.grm"*)[](*#line 559.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 26, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 30, ( ( _, ( MlyValue.strbinds strbinds1, _, strbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.strbinds'' (fn _ => let val  (strbinds as strbinds1) = strbinds1 ()
++ in ((*#line 181.29 "mlb.grm"*)strbinds(*#line 563.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 26, ( result, AND1left, strbinds1right), rest671)
++end
++|  ( 31, ( ( _, ( MlyValue.basbinds' basbinds'1, _, basbinds'1right)) :: _ :: ( _, ( MlyValue.basid basid1, basid1left, _)) :: rest671)) => let val  result = MlyValue.basbinds (fn _ => let val  (basid as basid1) = basid1 ()
++ val  (basbinds' as basbinds'1) = basbinds'1 ()
++ in ((*#line 184.13 "mlb.grm"*)let val (def, basbinds) = basbinds'
++            in {name = basid, def = def}
++               :: basbinds
++            end(*#line 569.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, basid1left, basbinds'1right), rest671)
++end
++|  ( 32, ( ( _, ( MlyValue.basbinds'' basbinds''1, _, basbinds''1right)) :: ( _, ( MlyValue.basexp basexp1, basexp1left, _)) :: rest671)) => let val  result = MlyValue.basbinds' (fn _ => let val  (basexp as basexp1) = basexp1 ()
++ val  (basbinds'' as basbinds''1) = basbinds''1 ()
++ in ((*#line 189.33 "mlb.grm"*)basexp, basbinds''(*#line 579.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, basexp1left, basbinds''1right), rest671)
++end
++|  ( 33, ( rest671)) => let val  result = MlyValue.basbinds'' (fn _ => ((*#line 191.29 "mlb.grm"*)[](*#line 586.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 5, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 34, ( ( _, ( MlyValue.basbinds basbinds1, _, basbinds1right)) :: ( _, ( _, AND1left, _)) :: rest671)) => let val  result = MlyValue.basbinds'' (fn _ => let val  (basbinds as basbinds1) = basbinds1 ()
++ in ((*#line 192.29 "mlb.grm"*)basbinds(*#line 590.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 5, ( result, AND1left, basbinds1right), rest671)
++end
++|  ( 35, ( ( _, ( MlyValue.basexpnode basexpnode1, (basexpnodeleft as basexpnode1left), (basexpnoderight as basexpnode1right))) :: rest671)) => let val  result = MlyValue.basexp (fn _ => let val  (basexpnode as basexpnode1) = basexpnode1 ()
++ in ((*#line 195.22 "mlb.grm"*)Basexp.makeRegion'
++                     (basexpnode, basexpnodeleft, basexpnoderight)(*#line 596.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, basexpnode1left, basexpnode1right), rest671)
++end
++|  ( 36, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.basdecs basdecs1, _, _)) :: ( _, ( _, BAS1left, _)) :: rest671)) => let val  result = MlyValue.basexpnode (fn _ => let val  (basdecs as basdecs1) = basdecs1 ()
++ in ((*#line 198.41 "mlb.grm"*)Basexp.Bas basdecs(*#line 603.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, BAS1left, END1right), rest671)
++end
++|  ( 37, ( ( _, ( MlyValue.basid basid1, basid1left, basid1right)) :: rest671)) => let val  result = MlyValue.basexpnode (fn _ => let val  (basid as basid1) = basid1 ()
++ in ((*#line 199.41 "mlb.grm"*)Basexp.Var basid(*#line 609.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, basid1left, basid1right), rest671)
++end
++|  ( 38, ( ( _, ( _, _, END1right)) :: ( _, ( MlyValue.basexp basexp1, _, _)) :: _ :: ( _, ( MlyValue.basdecs basdecs1, _, _)) :: ( _, ( _, LET1left, _)) :: rest671)) => let val  result = MlyValue.basexpnode (fn _ => let val  (basdecs as basdecs1) = basdecs1 ()
++ val  (basexp as basexp1) = basexp1 ()
++ in ((*#line 200.41 "mlb.grm"*)Basexp.Let (basdecs, basexp)(*#line 615.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, LET1left, END1right), rest671)
++end
++|  ( 39, ( ( _, ( MlyValue.id id1, id1left, id1right)) :: rest671)) => let val  result = MlyValue.basid (fn _ => let val  (id as id1) = id1 ()
++ in ((*#line 202.14 "mlb.grm"*)Basid.fromSymbol id(*#line 622.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 12, ( result, id1left, id1right), rest671)
++end
++|  ( 40, ( ( _, ( MlyValue.basid basid1, basid1left, basid1right)) :: rest671)) => let val  result = MlyValue.basids (fn _ => let val  (basid as basid1) = basid1 ()
++ in ((*#line 203.17 "mlb.grm"*)[basid](*#line 628.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 13, ( result, basid1left, basid1right), rest671)
++end
++|  ( 41, ( ( _, ( MlyValue.basids basids1, _, basids1right)) :: ( _, ( MlyValue.basid basid1, basid1left, _)) :: rest671)) => let val  result = MlyValue.basids (fn _ => let val  (basid as basid1) = basid1 ()
++ val  (basids as basids1) = basids1 ()
++ in ((*#line 204.24 "mlb.grm"*)basid :: basids(*#line 634.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 13, ( result, basid1left, basids1right), rest671)
++end
++|  ( 42, ( ( _, ( MlyValue.id id1, id1left, id1right)) :: rest671)) => let val  result = MlyValue.fctid (fn _ => let val  (id as id1) = id1 ()
++ in ((*#line 205.14 "mlb.grm"*)Fctid.fromSymbol id(*#line 641.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 17, ( result, id1left, id1right), rest671)
++end
++|  ( 43, ( ( _, ( MlyValue.id id1, id1left, id1right)) :: rest671)) => let val  result = MlyValue.sigid (fn _ => let val  (id as id1) = id1 ()
++ in ((*#line 206.14 "mlb.grm"*)Sigid.fromSymbol id(*#line 647.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 23, ( result, id1left, id1right), rest671)
++end
++|  ( 44, ( ( _, ( MlyValue.id id1, id1left, id1right)) :: rest671)) => let val  result = MlyValue.strid (fn _ => let val  (id as id1) = id1 ()
++ in ((*#line 207.14 "mlb.grm"*)Strid.fromSymbol id(*#line 653.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 27, ( result, id1left, id1right), rest671)
++end
++|  ( 45, ( ( _, ( MlyValue.ID ID1, (IDleft as ID1left), (IDright as ID1right))) :: rest671)) => let val  result = MlyValue.id (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 208.14 "mlb.grm"*)Symbol.fromString ID, reg (IDleft, IDright)(*#line 659.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 18, ( result, ID1left, ID1right), rest671)
++end
++|  ( 46, ( ( _, ( MlyValue.STRING STRING1, (STRINGleft as STRING1left), (STRINGright as STRING1right))) :: rest671)) => let val  result = MlyValue.ann (fn _ => let val  (STRING as STRING1) = STRING1 ()
++ in ((*#line 211.16 "mlb.grm"*)STRING, reg (STRINGleft, STRINGright)(*#line 665.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, STRING1left, STRING1right), rest671)
++end
++|  ( 47, ( ( _, ( MlyValue.annStar annStar1, _, annStar1right)) :: ( _, ( MlyValue.ann ann1, ann1left, _)) :: rest671)) => let val  result = MlyValue.annPlus (fn _ => let val  (ann as ann1) = ann1 ()
++ val  (annStar as annStar1) = annStar1 ()
++ in ((*#line 213.24 "mlb.grm"*)ann::annStar(*#line 671.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, ann1left, annStar1right), rest671)
++end
++|  ( 48, ( rest671)) => let val  result = MlyValue.annStar (fn _ => ((*#line 215.21 "mlb.grm"*)[](*#line 678.1 "mlb.grm.sml"*)
++))
++ in ( LrTable.NT 2, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 49, ( ( _, ( MlyValue.annPlus annPlus1, annPlus1left, annPlus1right)) :: rest671)) => let val  result = MlyValue.annStar (fn _ => let val  (annPlus as annPlus1) = annPlus1 ()
++ in ((*#line 216.21 "mlb.grm"*)annPlus(*#line 682.1 "mlb.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, annPlus1left, annPlus1right), rest671)
++end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID
++val extract = fn a => (fn MlyValue.mlb x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a ()
++end
++end
++structure Tokens : MLB_TOKENS =
++struct
++type svalue = ParserData.svalue
++type ('a,'b) token = ('a,'b) Token.token
++fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(ParserData.MlyValue.ID (fn () => i),p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(ParserData.MlyValue.VOID,p1,p2))
++fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(ParserData.MlyValue.VOID,p1,p2))
++fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(ParserData.MlyValue.VOID,p1,p2))
++fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(ParserData.MlyValue.VOID,p1,p2))
++fun BAS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(ParserData.MlyValue.VOID,p1,p2))
++fun BASIS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(ParserData.MlyValue.VOID,p1,p2))
++fun END (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(ParserData.MlyValue.VOID,p1,p2))
++fun EQUALOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(ParserData.MlyValue.VOID,p1,p2))
++fun FUNCTOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(ParserData.MlyValue.VOID,p1,p2))
++fun IN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(ParserData.MlyValue.VOID,p1,p2))
++fun LET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(ParserData.MlyValue.VOID,p1,p2))
++fun LOCAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(ParserData.MlyValue.VOID,p1,p2))
++fun OPEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(ParserData.MlyValue.VOID,p1,p2))
++fun SIGNATURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(ParserData.MlyValue.VOID,p1,p2))
++fun STRUCTURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(ParserData.MlyValue.VOID,p1,p2))
++fun ANN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(ParserData.MlyValue.VOID,p1,p2))
++fun PRIM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(ParserData.MlyValue.VOID,p1,p2))
++fun FILE (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(ParserData.MlyValue.FILE (fn () => i),p1,p2))
++fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(ParserData.MlyValue.STRING (fn () => i),p1,p2))
++end
++end
+diff --git a/mlton/front-end/mlb.lex.sml.boot b/mlton/front-end/mlb.lex.sml.boot
+new file mode 100644
+index 000000000..429b7bd55
+--- /dev/null
++++ b/mlton/front-end/mlb.lex.sml.boot
+@@ -0,0 +1,2771 @@
++(*#line 178.10 "mlb.lex"*)functor MLBLexFun (structure Tokens : MLB_TOKENS)(*#line 1.1 "mlb.lex.sml"*)
++=
++   struct
++    structure UserDeclarations =
++      struct
++(*#line 1.1 "mlb.lex"*)(* Copyright (C) 2009,2016,2017 Matthew Fluet.
++ * Copyright (C) 2004-2006 Henry Cejtin, Matthew Fluet, Suresh
++ *    Jagannathan, and Stephen Weeks.
++ *
++ * MLton is released under a HPND-style license.
++ * See the file MLton-LICENSE for details.
++ *)
++
++type svalue = Tokens.svalue
++type pos = SourcePos.t
++type lexresult = (svalue, pos) Tokens.token
++type lexarg = {source: Source.t}
++type arg = lexarg
++type ('a,'b) token = ('a,'b) Tokens.token
++
++fun lastPos (yypos, yytext) = yypos + size yytext - 1
++
++fun tok (t, x, s, l) =
++   let
++      val left = Source.getPos (s, l)
++      val right = Source.getPos (s, lastPos (l, x))
++   in
++      t (left, right)
++   end
++
++fun tok' (t, x, s, l) = tok (fn (l, r) => t (x, l, r), x, s, l)
++
++fun error' (left, right, msg) =
++   Control.errorStr (Region.make {left = left, right = right}, msg)
++fun error (source, left, right, msg) =
++   error' (Source.getPos (source, left), Source.getPos (source, right), msg)
++
++
++(* Comments *)
++local
++   val commentErrors: string list ref = ref []
++   val commentLeft = ref SourcePos.bogus
++   val commentStack: (int -> unit) list ref = ref []
++in
++   fun addCommentError msg =
++      List.push (commentErrors, msg)
++   val inComment = fn () => not (List.isEmpty (!commentStack))
++   fun startComment (source, yypos, th) =
++      if inComment ()
++         then List.push (commentStack, fn _ => th ())
++         else (commentErrors := []
++               ; commentLeft := Source.getPos (source, yypos)
++               ; List.push (commentStack, fn yypos =>
++                            (List.foreach (!commentErrors, fn msg =>
++                                           error' (!commentLeft,
++                                                   Source.getPos (source, yypos),
++                                                   msg))
++                             ; th ())))
++   fun finishComment yypos =
++      (List.pop commentStack) yypos
++end
++
++
++(* Line Directives *)
++local
++   val lineDirCol: int ref = ref ~1
++   val lineDirFile: File.t option ref = ref NONE
++   val lineDirLine: int ref = ref ~1
++in
++   fun startLineDir (source, yypos, th) =
++      let
++         val _ = lineDirCol := ~1
++         val _ = lineDirFile := NONE
++         val _ = lineDirLine := ~1
++      in
++         startComment (source, yypos, th)
++      end
++   fun addLineDirLineCol (line, col) =
++      let
++         val _ = lineDirLine := line
++         val _ = lineDirCol := col
++      in
++         ()
++      end
++   fun addLineDirFile file =
++      let
++         val _ = lineDirFile := SOME file
++      in
++         ()
++      end
++   fun finishLineDir (source, yypos) =
++      let
++         val col = !lineDirCol
++         val file = !lineDirFile
++         val line = !lineDirLine
++         val _ = lineDirCol := ~1
++         val _ = lineDirFile := NONE
++         val _ = lineDirLine := ~1
++      in
++         finishComment yypos
++         ; Source.lineDirective (source, file,
++                                 {lineNum = line,
++                                  lineStart = yypos + 1 - col})
++      end
++end
++
++
++(* Text Constants *)
++local
++   val chars: char list ref = ref []
++   val inText = ref false
++   val textLeft = ref SourcePos.bogus
++   val textFinishFn: (string * SourcePos.t * SourcePos.t -> lexresult) ref = ref (fn _ => raise Fail "textFinish")
++in
++   fun startText (tl, tf) =
++      let
++         val _ = chars := []
++         val _ = inText := true
++         val _ = textLeft := tl
++         val _ = textFinishFn := tf
++      in
++         ()
++      end
++   fun finishText textRight =
++      let
++         val cs = String.fromListRev (!chars)
++         val tl = !textLeft
++         val tr = textRight
++         val tf = !textFinishFn
++         val _ = chars := []
++         val _ = inText := false
++         val _ = textLeft := SourcePos.bogus
++         val _ = textFinishFn := (fn _ => raise Fail "textFinish")
++      in
++         tf (cs, tl, tr)
++      end
++   fun addTextString (s: string) =
++      chars := String.fold (s, !chars, fn (c, ac) => c :: ac)
++   val inText = fn () => !inText
++end
++fun addTextChar (c: char) = addTextString (String.fromChar c)
++fun addTextNumEsc (source, yypos, yytext, drop, radix): unit =
++   let
++      val left = yypos
++      val right = lastPos (left, yytext)
++      fun err () =
++         error (source, left, right, "Illegal numeric escape in text constant")
++   in
++      case StringCvt.scanString (fn r => IntInf.scan (radix, r)) (String.dropPrefix (yytext, drop)) of
++         NONE => err ()
++       | SOME i => if i > 255
++                      then err ()
++                      else addTextChar (Char.chr (IntInf.toInt i))
++   end
++fun addTextUTF8 (source, yypos, yytext): unit =
++   addTextString yytext
++
++
++(* EOF *)
++val eof: lexarg -> lexresult =
++   fn {source, ...} =>
++   let
++      val _ = Source.newline (source, ~1)
++      val pos = Source.getPos (source, ~1)
++      val _ =
++         if inComment ()
++            then error' (pos, SourcePos.bogus, "Unclosed comment at end of file")
++            else ()
++      val _ =
++         if inText ()
++            then error' (pos, SourcePos.bogus, "Unclosed text constant at end of file")
++            else ()
++   in
++      Tokens.EOF (pos, SourcePos.bogus)
++   end
++
++
++(*#line 178.1 "mlb.lex.sml"*)
++end (* end of user routines *)
++exception LexError (* raised if illegal leaf action tried *)
++structure Internal =
++	struct
++
++datatype yyfinstate = N of int
++type statedata = {fin : yyfinstate list, trans: string}
++(* transition & final state table *)
++val tab = let
++val s = [ 
++ (0, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (1, 
++"\019\019\019\019\019\019\019\019\019\112\115\112\112\114\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\112\019\111\019\110\019\019\019\101\019\019\019\100\019\099\089\
++\\088\088\088\088\088\088\088\088\088\088\019\087\019\086\019\019\
++\\019\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020\
++\\020\020\020\020\020\020\020\020\020\020\020\019\019\019\019\081\
++\\019\077\072\020\020\069\062\020\020\060\020\020\053\020\020\049\
++\\020\020\020\032\020\020\020\020\020\020\020\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\
++\\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019\019"
++),
++ (3, 
++"\116\116\116\116\116\116\116\116\116\116\162\116\116\161\116\116\
++\\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\116\
++\\126\126\160\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\127\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\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\
++\\124\124\124\124\124\124\124\124\124\124\124\124\124\124\124\124\
++\\124\124\124\124\124\124\124\124\124\124\124\124\124\124\124\124\
++\\121\121\121\121\121\121\121\121\121\121\121\121\121\121\121\121\
++\\117\117\117\117\117\117\117\117\116\116\116\116\116\116\116\116"
++),
++ (5, 
++"\163\163\163\163\163\163\163\163\163\165\168\165\165\167\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\165\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\164\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\
++\\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163\163"
++),
++ (7, 
++"\169\169\169\169\169\169\169\169\169\169\176\169\169\175\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\172\169\170\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\
++\\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169\169"
++),
++ (9, 
++"\177\177\177\177\177\177\177\177\177\177\179\177\177\178\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\
++\\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177"
++),
++ (11, 
++"\180\180\180\180\180\180\180\180\180\180\000\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\181\181\181\181\181\181\181\181\181\181\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180"
++),
++ (13, 
++"\180\180\180\180\180\180\180\180\180\187\000\187\187\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\187\180\180\180\180\180\180\180\180\180\185\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180"
++),
++ (15, 
++"\191\191\191\191\191\191\191\191\191\191\192\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\194\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\
++\\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191\191"
++),
++ (17, 
++"\180\180\180\180\180\180\180\180\180\195\000\195\195\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\195\180\180\180\180\180\180\180\180\180\185\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\
++\\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180\180"
++),
++ (20, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (22, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\028\000\000\000\000\000\000\000\000\000\027\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (23, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (24, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\025\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (25, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\026\026\026\026\026\026\026\026\026\026\026\026\026\026\026\
++\\026\026\026\026\026\026\026\026\026\026\026\000\000\000\000\026\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (26, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\
++\\026\026\026\026\026\026\026\026\026\026\000\000\000\000\000\000\
++\\000\026\026\026\026\026\026\026\026\026\026\026\026\026\026\026\
++\\026\026\026\026\026\026\026\026\026\026\026\000\000\000\000\026\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (28, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\029\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (29, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
++\\030\030\030\030\030\030\030\030\030\030\030\000\000\000\000\030\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (30, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\
++\\030\030\030\030\030\030\030\030\030\030\000\000\000\000\000\000\
++\\000\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
++\\030\030\030\030\030\030\030\030\030\030\030\000\000\000\000\030\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (31, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\031\000\000\000\000\000\000\000\000\
++\\031\031\031\031\031\031\031\031\031\031\000\000\000\000\000\000\
++\\000\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\
++\\031\031\031\031\031\031\031\031\031\031\031\000\000\000\000\031\
++\\000\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\
++\\031\031\031\031\031\031\031\031\031\031\031\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (32, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\041\021\021\021\021\021\021\
++\\021\021\021\021\033\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (33, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\034\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (34, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\035\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (35, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\036\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (36, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\037\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (37, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\038\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (38, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\039\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (39, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\040\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (41, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\042\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (42, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\043\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (43, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\044\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (44, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\045\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (45, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\046\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (46, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\047\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (47, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\048\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (49, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\050\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (50, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\051\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (51, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\052\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (53, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\058\021\021\021\021\021\021\021\021\021\054\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (54, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\055\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (55, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\056\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (56, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\057\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (58, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\059\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (60, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\061\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (62, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\063\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (63, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\064\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (64, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\065\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (65, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\066\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (66, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\067\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (67, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\068\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (69, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\070\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (70, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\071\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (72, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\073\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (73, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\074\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (74, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\075\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (75, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\076\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (77, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\078\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (78, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\031\000\000\000\000\000\023\023\022\
++\\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\000\
++\\000\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\021\
++\\000\021\021\021\080\021\021\021\021\021\021\021\021\021\079\021\
++\\021\021\021\021\021\021\021\021\021\021\021\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (81, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\082\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (82, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\083\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (83, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\084\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (84, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\024\000\000\000\000\000\000\000\000\023\023\022\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\085\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (89, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\096\000\000\000\000\000\000\000\000\000\092\000\
++\\090\090\090\090\090\090\090\090\090\090\000\000\000\000\000\000\
++\\000\090\090\090\090\090\090\090\090\090\090\090\090\090\090\090\
++\\090\090\090\090\090\090\090\090\090\090\090\000\000\000\000\090\
++\\000\090\090\090\090\090\090\090\090\090\090\090\090\090\090\090\
++\\090\090\090\090\090\090\090\090\090\090\090\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (90, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\093\000\000\000\000\000\000\000\000\090\090\091\
++\\090\090\090\090\090\090\090\090\090\090\000\000\000\000\000\000\
++\\000\090\090\090\090\090\090\090\090\090\090\090\090\090\090\090\
++\\090\090\090\090\090\090\090\090\090\090\090\000\000\000\000\090\
++\\000\090\090\090\090\090\090\090\090\090\090\090\090\090\090\090\
++\\090\090\090\090\090\090\090\090\090\090\090\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (93, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\094\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (94, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\095\095\095\095\095\095\095\095\095\095\095\095\095\095\095\
++\\095\095\095\095\095\095\095\095\095\095\095\000\000\000\000\095\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (95, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\090\000\000\000\000\000\000\
++\\095\095\095\095\095\095\095\095\095\095\000\000\000\000\000\000\
++\\000\095\095\095\095\095\095\095\095\095\095\095\095\095\095\095\
++\\095\095\095\095\095\095\095\095\095\095\095\000\000\000\000\095\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (96, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\097\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (97, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\098\098\098\098\098\098\098\098\098\098\098\098\098\098\098\
++\\098\098\098\098\098\098\098\098\098\098\098\000\000\000\000\098\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (98, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\090\000\000\000\000\000\000\
++\\098\098\098\098\098\098\098\098\098\098\000\000\000\000\000\000\
++\\000\098\098\098\098\098\098\098\098\098\098\098\098\098\098\098\
++\\098\098\098\098\098\098\098\098\098\098\098\000\000\000\000\098\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (101, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\102\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (102, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\104\000\000\000\000\000\103\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (104, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\105\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (105, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\106\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (106, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\107\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (107, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\108\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (108, 
++"\000\000\000\000\000\000\000\000\000\109\000\109\109\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\109\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (112, 
++"\000\000\000\000\000\000\000\000\000\113\000\113\113\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\113\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (114, 
++"\000\000\000\000\000\000\000\000\000\000\115\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (117, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\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\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\118\118\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (118, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\
++\\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\
++\\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\
++\\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\119\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (119, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\
++\\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\
++\\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\
++\\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\120\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (121, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
++\\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
++\\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
++\\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\122\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (122, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\
++\\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\
++\\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\
++\\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\123\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (124, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\
++\\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\
++\\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\
++\\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (127, 
++"\000\000\000\000\000\000\000\000\000\157\159\157\157\158\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\157\000\156\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\153\153\153\153\153\153\153\153\153\153\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\144\000\000\000\000\000\000\143\000\140\000\
++\\000\139\138\000\000\000\137\000\000\000\000\000\000\000\136\000\
++\\000\000\135\000\134\129\128\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (129, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\130\130\130\130\130\130\130\130\130\130\000\000\000\000\000\000\
++\\000\130\130\130\130\130\130\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\130\130\130\130\130\130\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (130, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\131\131\131\131\131\131\131\131\131\131\000\000\000\000\000\000\
++\\000\131\131\131\131\131\131\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\131\131\131\131\131\131\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (131, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\132\132\132\132\132\132\132\132\132\132\000\000\000\000\000\000\
++\\000\132\132\132\132\132\132\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\132\132\132\132\132\132\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (132, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\133\133\133\133\133\133\133\133\133\133\000\000\000\000\000\000\
++\\000\133\133\133\133\133\133\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\133\133\133\133\133\133\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (140, 
++"\141\141\141\141\141\141\141\141\141\141\000\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\
++\\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\
++\\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141\141"
++),
++ (144, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\145\145\145\145\145\145\145\145\145\145\000\000\000\000\000\000\
++\\000\145\145\145\145\145\145\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\145\145\145\145\145\145\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (145, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\146\146\146\146\146\146\146\146\146\146\000\000\000\000\000\000\
++\\000\146\146\146\146\146\146\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\146\146\146\146\146\146\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (146, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\147\147\147\147\147\147\147\147\147\147\000\000\000\000\000\000\
++\\000\147\147\147\147\147\147\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\147\147\147\147\147\147\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (147, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\148\148\148\148\148\148\148\148\148\148\000\000\000\000\000\000\
++\\000\148\148\148\148\148\148\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\148\148\148\148\148\148\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (148, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\149\149\149\149\149\149\149\149\149\149\000\000\000\000\000\000\
++\\000\149\149\149\149\149\149\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\149\149\149\149\149\149\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (149, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\150\150\150\150\150\150\150\150\150\150\000\000\000\000\000\000\
++\\000\150\150\150\150\150\150\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\150\150\150\150\150\150\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (150, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\151\151\151\151\151\151\151\151\151\151\000\000\000\000\000\000\
++\\000\151\151\151\151\151\151\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\151\151\151\151\151\151\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (151, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\152\152\152\152\152\152\152\152\152\152\000\000\000\000\000\000\
++\\000\152\152\152\152\152\152\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\152\152\152\152\152\152\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (153, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\154\154\154\154\154\154\154\154\154\154\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (154, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\155\155\155\155\155\155\155\155\155\155\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (157, 
++"\000\000\000\000\000\000\000\000\000\157\000\157\157\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (158, 
++"\000\000\000\000\000\000\000\000\000\000\159\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (161, 
++"\000\000\000\000\000\000\000\000\000\000\162\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (165, 
++"\000\000\000\000\000\000\000\000\000\166\000\166\166\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (167, 
++"\000\000\000\000\000\000\000\000\000\000\168\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (170, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (172, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (173, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (175, 
++"\000\000\000\000\000\000\000\000\000\000\176\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (178, 
++"\000\000\000\000\000\000\000\000\000\000\179\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (181, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\
++\\182\182\182\182\182\182\182\182\182\182\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (183, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\184\184\184\184\184\184\184\184\184\184\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (185, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (187, 
++"\000\000\000\000\000\000\000\000\000\190\000\190\190\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\190\000\189\000\000\000\000\000\000\000\188\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++ (191, 
++"\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\193\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\
++\\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192\192"
++),
++ (195, 
++"\000\000\000\000\000\000\000\000\000\196\000\196\196\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\196\000\000\000\000\000\000\000\000\000\188\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
++),
++(0, "")]
++fun f x = x 
++val s = Pervasive.List.map f (Pervasive.List.rev (tl (Pervasive.List.rev s))) 
++exception LexHackingError 
++fun look ((j,x)::r, i: int) = if i = j then x else look(r, i) 
++  | look ([], i) = raise LexHackingError
++fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} 
++in Vector.fromList(Pervasive.List.map g 
++[{fin = [], trans = 0},
++{fin = [], trans = 1},
++{fin = [], trans = 1},
++{fin = [], trans = 3},
++{fin = [], trans = 3},
++{fin = [], trans = 5},
++{fin = [], trans = 5},
++{fin = [], trans = 7},
++{fin = [], trans = 7},
++{fin = [], trans = 9},
++{fin = [], trans = 9},
++{fin = [], trans = 11},
++{fin = [], trans = 11},
++{fin = [], trans = 13},
++{fin = [], trans = 13},
++{fin = [], trans = 15},
++{fin = [], trans = 15},
++{fin = [], trans = 17},
++{fin = [], trans = 17},
++{fin = [(N 351)], trans = 0},
++{fin = [(N 96),(N 152),(N 351)], trans = 20},
++{fin = [(N 96),(N 152)], trans = 20},
++{fin = [], trans = 22},
++{fin = [(N 152)], trans = 23},
++{fin = [], trans = 24},
++{fin = [], trans = 25},
++{fin = [], trans = 26},
++{fin = [(N 152)], trans = 23},
++{fin = [], trans = 28},
++{fin = [], trans = 29},
++{fin = [], trans = 30},
++{fin = [(N 96)], trans = 31},
++{fin = [(N 96),(N 152),(N 351)], trans = 32},
++{fin = [(N 96),(N 152)], trans = 33},
++{fin = [(N 96),(N 152)], trans = 34},
++{fin = [(N 96),(N 152)], trans = 35},
++{fin = [(N 96),(N 152)], trans = 36},
++{fin = [(N 96),(N 152)], trans = 37},
++{fin = [(N 96),(N 152)], trans = 38},
++{fin = [(N 96),(N 152)], trans = 39},
++{fin = [(N 93),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152)], trans = 41},
++{fin = [(N 96),(N 152)], trans = 42},
++{fin = [(N 96),(N 152)], trans = 43},
++{fin = [(N 96),(N 152)], trans = 44},
++{fin = [(N 96),(N 152)], trans = 45},
++{fin = [(N 96),(N 152)], trans = 46},
++{fin = [(N 96),(N 152)], trans = 47},
++{fin = [(N 83),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 49},
++{fin = [(N 96),(N 152)], trans = 50},
++{fin = [(N 96),(N 152)], trans = 51},
++{fin = [(N 73),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 53},
++{fin = [(N 96),(N 152)], trans = 54},
++{fin = [(N 96),(N 152)], trans = 55},
++{fin = [(N 96),(N 152)], trans = 56},
++{fin = [(N 68),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152)], trans = 58},
++{fin = [(N 62),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 60},
++{fin = [(N 58),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 62},
++{fin = [(N 96),(N 152)], trans = 63},
++{fin = [(N 96),(N 152)], trans = 64},
++{fin = [(N 96),(N 152)], trans = 65},
++{fin = [(N 96),(N 152)], trans = 66},
++{fin = [(N 96),(N 152)], trans = 67},
++{fin = [(N 55),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 69},
++{fin = [(N 96),(N 152)], trans = 70},
++{fin = [(N 47),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 72},
++{fin = [(N 96),(N 152)], trans = 73},
++{fin = [(N 37),(N 96),(N 152)], trans = 74},
++{fin = [(N 96),(N 152)], trans = 75},
++{fin = [(N 43),(N 96),(N 152)], trans = 20},
++{fin = [(N 96),(N 152),(N 351)], trans = 77},
++{fin = [(N 96),(N 152)], trans = 78},
++{fin = [(N 33),(N 96),(N 152)], trans = 20},
++{fin = [(N 29),(N 96),(N 152)], trans = 20},
++{fin = [(N 152),(N 351)], trans = 81},
++{fin = [(N 152)], trans = 82},
++{fin = [(N 152)], trans = 83},
++{fin = [(N 152)], trans = 84},
++{fin = [(N 19),(N 152)], trans = 23},
++{fin = [(N 25),(N 351)], trans = 0},
++{fin = [(N 23),(N 351)], trans = 0},
++{fin = [(N 152),(N 351)], trans = 23},
++{fin = [(N 351)], trans = 89},
++{fin = [(N 152)], trans = 90},
++{fin = [], trans = 89},
++{fin = [(N 152)], trans = 90},
++{fin = [], trans = 93},
++{fin = [], trans = 94},
++{fin = [], trans = 95},
++{fin = [], trans = 96},
++{fin = [], trans = 97},
++{fin = [], trans = 98},
++{fin = [(N 152),(N 351)], trans = 23},
++{fin = [(N 21),(N 351)], trans = 0},
++{fin = [(N 351)], trans = 101},
++{fin = [(N 281)], trans = 102},
++{fin = [(N 278)], trans = 0},
++{fin = [], trans = 104},
++{fin = [], trans = 105},
++{fin = [], trans = 106},
++{fin = [], trans = 107},
++{fin = [], trans = 108},
++{fin = [(N 321)], trans = 108},
++{fin = [(N 351)], trans = 28},
++{fin = [(N 154),(N 351)], trans = 0},
++{fin = [(N 8),(N 351)], trans = 112},
++{fin = [(N 8)], trans = 112},
++{fin = [(N 13),(N 351)], trans = 114},
++{fin = [(N 13)], trans = 0},
++{fin = [(N 256)], trans = 0},
++{fin = [(N 256)], trans = 117},
++{fin = [], trans = 118},
++{fin = [], trans = 119},
++{fin = [(N 173)], trans = 0},
++{fin = [(N 256)], trans = 121},
++{fin = [], trans = 122},
++{fin = [(N 168)], trans = 0},
++{fin = [(N 256)], trans = 124},
++{fin = [(N 164)], trans = 0},
++{fin = [(N 161),(N 256)], trans = 0},
++{fin = [(N 249),(N 256)], trans = 127},
++{fin = [(N 188)], trans = 0},
++{fin = [], trans = 129},
++{fin = [], trans = 130},
++{fin = [], trans = 131},
++{fin = [], trans = 132},
++{fin = [(N 214)], trans = 0},
++{fin = [(N 182)], trans = 0},
++{fin = [(N 194)], trans = 0},
++{fin = [(N 185)], trans = 0},
++{fin = [(N 191)], trans = 0},
++{fin = [(N 179)], trans = 0},
++{fin = [(N 176)], trans = 0},
++{fin = [], trans = 140},
++{fin = [(N 202)], trans = 0},
++{fin = [(N 198),(N 202)], trans = 0},
++{fin = [(N 231)], trans = 0},
++{fin = [], trans = 144},
++{fin = [], trans = 145},
++{fin = [], trans = 146},
++{fin = [], trans = 147},
++{fin = [], trans = 148},
++{fin = [], trans = 149},
++{fin = [], trans = 150},
++{fin = [], trans = 151},
++{fin = [(N 225)], trans = 0},
++{fin = [], trans = 153},
++{fin = [], trans = 154},
++{fin = [(N 207)], trans = 0},
++{fin = [(N 228)], trans = 0},
++{fin = [(N 241)], trans = 157},
++{fin = [(N 247)], trans = 158},
++{fin = [(N 247)], trans = 0},
++{fin = [(N 156),(N 256)], trans = 0},
++{fin = [(N 254),(N 256)], trans = 161},
++{fin = [(N 254)], trans = 0},
++{fin = [(N 274)], trans = 0},
++{fin = [(N 272),(N 274)], trans = 0},
++{fin = [(N 265),(N 274)], trans = 165},
++{fin = [(N 265)], trans = 165},
++{fin = [(N 270),(N 274)], trans = 167},
++{fin = [(N 270)], trans = 0},
++{fin = [(N 305)], trans = 0},
++{fin = [(N 305)], trans = 170},
++{fin = [(N 298)], trans = 0},
++{fin = [(N 305)], trans = 172},
++{fin = [(N 295)], trans = 173},
++{fin = [(N 292)], trans = 0},
++{fin = [(N 303),(N 305)], trans = 175},
++{fin = [(N 303)], trans = 0},
++{fin = [(N 288)], trans = 0},
++{fin = [(N 286),(N 288)], trans = 178},
++{fin = [(N 286)], trans = 0},
++{fin = [(N 349)], trans = 0},
++{fin = [(N 349)], trans = 181},
++{fin = [], trans = 181},
++{fin = [], trans = 183},
++{fin = [(N 327)], trans = 183},
++{fin = [(N 349)], trans = 185},
++{fin = [(N 347)], trans = 0},
++{fin = [(N 349)], trans = 187},
++{fin = [], trans = 185},
++{fin = [(N 337)], trans = 0},
++{fin = [], trans = 187},
++{fin = [(N 349)], trans = 191},
++{fin = [], trans = 191},
++{fin = [(N 340)], trans = 0},
++{fin = [(N 340),(N 349)], trans = 0},
++{fin = [(N 349)], trans = 195},
++{fin = [], trans = 195}])
++end
++structure StartStates =
++	struct
++	datatype yystartstate = STARTSTATE of int
++
++(* start state definitions *)
++
++val BLOCK_COMMENT = STARTSTATE 7;
++val INITIAL = STARTSTATE 1;
++val LINE_COMMENT = STARTSTATE 9;
++val LINE_DIR1 = STARTSTATE 11;
++val LINE_DIR2 = STARTSTATE 13;
++val LINE_DIR3 = STARTSTATE 15;
++val LINE_DIR4 = STARTSTATE 17;
++val TEXT = STARTSTATE 3;
++val TEXT_FMT = STARTSTATE 5;
++
++end
++type result = UserDeclarations.lexresult
++	exception LexerError (* raised if illegal leaf action tried *)
++end
++
++structure YYPosInt : INTEGER = Int
++fun makeLexer yyinput =
++let	val yygone0= YYPosInt.fromInt ~1
++	val yyb = ref "\n" 		(* buffer *)
++	val yybl = ref 1		(*buffer length *)
++	val yybufpos = ref 1		(* location of next character to use *)
++	val yygone = ref yygone0	(* position in file of beginning of buffer *)
++	val yydone = ref false		(* eof found yet? *)
++	val yybegin = ref 1		(*Current 'start state' for lexer *)
++
++	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
++		 yybegin := x
++
++fun lex (yyarg as ((*#line 179.7 "mlb.lex"*){source}(*#line 2535.1 "mlb.lex.sml"*)
++)) =
++let fun continue() : Internal.result = 
++  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
++	let fun action (i,nil) = raise LexError
++	| action (i,nil::l) = action (i-1,l)
++	| action (i,(node::acts)::l) =
++		case node of
++		    Internal.N yyk => 
++			(let fun yymktext() = String.substring(!yyb,i0,i-i0)
++			     val yypos = YYPosInt.+(YYPosInt.fromInt i0, !yygone)
++			open UserDeclarations Internal.StartStates
++ in (yybufpos := i; case yyk of 
++
++			(* Application actions *)
++
++  13 => let val yytext=yymktext() in (*#line 203.21 "mlb.lex"*)Source.newline (source, lastPos (yypos, yytext)); continue ()(*#line 2551.1 "mlb.lex.sml"*)
++ end
++| 152 => let val yytext=yymktext() in (*#line 225.21 "mlb.lex"*)tok' (Tokens.FILE, yytext, source, yypos)(*#line 2553.1 "mlb.lex.sml"*)
++ end
++| 154 => ((*#line 228.5 "mlb.lex"*)startText (Source.getPos (source, yypos), fn (s, l, r) =>
++               (YYBEGIN INITIAL;
++                Tokens.STRING (s, l, r)))
++    ; YYBEGIN TEXT
++    ; continue ()(*#line 2559.1 "mlb.lex.sml"*)
++)
++| 156 => let val yytext=yymktext() in (*#line 234.22 "mlb.lex"*)finishText (Source.getPos (source, lastPos (yypos, yytext)))(*#line 2561.1 "mlb.lex.sml"*)
++ end
++| 161 => let val yytext=yymktext() in (*#line 236.22 "mlb.lex"*)addTextString yytext; continue ()(*#line 2563.1 "mlb.lex.sml"*)
++ end
++| 164 => let val yytext=yymktext() in (*#line 238.22 "mlb.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 2565.1 "mlb.lex.sml"*)
++ end
++| 168 => let val yytext=yymktext() in (*#line 240.22 "mlb.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 2567.1 "mlb.lex.sml"*)
++ end
++| 173 => let val yytext=yymktext() in (*#line 242.22 "mlb.lex"*)addTextUTF8 (source, yypos, yytext); continue()(*#line 2569.1 "mlb.lex.sml"*)
++ end
++| 176 => ((*#line 243.22 "mlb.lex"*)addTextChar #"\a"; continue ()(*#line 2571.1 "mlb.lex.sml"*)
++)
++| 179 => ((*#line 244.22 "mlb.lex"*)addTextChar #"\b"; continue ()(*#line 2573.1 "mlb.lex.sml"*)
++)
++| 182 => ((*#line 245.22 "mlb.lex"*)addTextChar #"\t"; continue ()(*#line 2575.1 "mlb.lex.sml"*)
++)
++| 185 => ((*#line 246.22 "mlb.lex"*)addTextChar #"\n"; continue ()(*#line 2577.1 "mlb.lex.sml"*)
++)
++| 188 => ((*#line 247.22 "mlb.lex"*)addTextChar #"\v"; continue ()(*#line 2579.1 "mlb.lex.sml"*)
++)
++| 19 => let val yytext=yymktext() in (*#line 205.22 "mlb.lex"*)tok (Tokens.PRIM, yytext, source, yypos)(*#line 2581.1 "mlb.lex.sml"*)
++ end
++| 191 => ((*#line 248.22 "mlb.lex"*)addTextChar #"\f"; continue ()(*#line 2583.1 "mlb.lex.sml"*)
++)
++| 194 => ((*#line 249.22 "mlb.lex"*)addTextChar #"\r"; continue ()(*#line 2585.1 "mlb.lex.sml"*)
++)
++| 198 => let val yytext=yymktext() in (*#line 250.22 "mlb.lex"*)addTextChar (Char.chr(Char.ord(String.sub(yytext, 2)) - Char.ord #"@"));
++                     continue ()(*#line 2588.1 "mlb.lex.sml"*)
++ end
++| 202 => ((*#line 252.22 "mlb.lex"*)error (source, yypos, yypos + 2, "Illegal control escape in text constant; must be one of @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_");
++                     continue ()(*#line 2591.1 "mlb.lex.sml"*)
++)
++| 207 => let val yytext=yymktext() in (*#line 254.22 "mlb.lex"*)addTextNumEsc (source, yypos, yytext, 1,
++                                    StringCvt.DEC)
++                     ; continue ()(*#line 2595.1 "mlb.lex.sml"*)
++ end
++| 21 => let val yytext=yymktext() in (*#line 207.18 "mlb.lex"*)tok (Tokens.COMMA, yytext, source, yypos)(*#line 2597.1 "mlb.lex.sml"*)
++ end
++| 214 => let val yytext=yymktext() in (*#line 258.22 "mlb.lex"*)addTextNumEsc (source, yypos, yytext, 2,
++                                    StringCvt.HEX)
++                     ; continue ()(*#line 2601.1 "mlb.lex.sml"*)
++ end
++| 225 => let val yytext=yymktext() in (*#line 262.22 "mlb.lex"*)addTextNumEsc (source, yypos, yytext, 2,
++                                    StringCvt.HEX)
++                     ; continue ()(*#line 2605.1 "mlb.lex.sml"*)
++ end
++| 228 => ((*#line 265.22 "mlb.lex"*)addTextString "\""; continue ()(*#line 2607.1 "mlb.lex.sml"*)
++)
++| 23 => let val yytext=yymktext() in (*#line 208.18 "mlb.lex"*)tok (Tokens.SEMICOLON, yytext, source, yypos)(*#line 2609.1 "mlb.lex.sml"*)
++ end
++| 231 => ((*#line 266.22 "mlb.lex"*)addTextString "\\"; continue ()(*#line 2611.1 "mlb.lex.sml"*)
++)
++| 241 => ((*#line 267.22 "mlb.lex"*)YYBEGIN TEXT_FMT; continue ()(*#line 2613.1 "mlb.lex.sml"*)
++)
++| 247 => let val yytext=yymktext() in (*#line 268.22 "mlb.lex"*)Source.newline (source, lastPos (yypos, yytext)); YYBEGIN TEXT_FMT; continue ()(*#line 2615.1 "mlb.lex.sml"*)
++ end
++| 249 => ((*#line 269.22 "mlb.lex"*)error (source, yypos, yypos + 1, "Illegal escape in text constant")
++                     ; continue ()(*#line 2618.1 "mlb.lex.sml"*)
++)
++| 25 => let val yytext=yymktext() in (*#line 209.18 "mlb.lex"*)tok (Tokens.EQUALOP, yytext, source, yypos)(*#line 2620.1 "mlb.lex.sml"*)
++ end
++| 254 => let val yytext=yymktext() in (*#line 271.22 "mlb.lex"*)error (source, yypos, lastPos (yypos, yytext), "Unclosed text constant at end of line")
++                     ; Source.newline (source, lastPos (yypos, yytext))
++                     ; continue ()(*#line 2624.1 "mlb.lex.sml"*)
++ end
++| 256 => ((*#line 274.22 "mlb.lex"*)error (source, yypos, yypos, "Illegal character in text constant")
++                     ; continue ()(*#line 2627.1 "mlb.lex.sml"*)
++)
++| 265 => ((*#line 277.22 "mlb.lex"*)continue ()(*#line 2629.1 "mlb.lex.sml"*)
++)
++| 270 => let val yytext=yymktext() in (*#line 278.22 "mlb.lex"*)Source.newline (source, lastPos (yypos, yytext)); continue ()(*#line 2631.1 "mlb.lex.sml"*)
++ end
++| 272 => ((*#line 279.22 "mlb.lex"*)YYBEGIN TEXT; continue ()(*#line 2633.1 "mlb.lex.sml"*)
++)
++| 274 => ((*#line 280.22 "mlb.lex"*)error (source, yypos, yypos, "Illegal formatting character in text continuation")
++                     ; continue ()(*#line 2636.1 "mlb.lex.sml"*)
++)
++| 278 => ((*#line 285.5 "mlb.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN LINE_COMMENT
++    ; continue ()(*#line 2641.1 "mlb.lex.sml"*)
++)
++| 281 => ((*#line 290.5 "mlb.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 2646.1 "mlb.lex.sml"*)
++)
++| 286 => let val yytext=yymktext() in (*#line 296.5 "mlb.lex"*)finishComment (lastPos (yypos, yytext))
++    ; Source.newline (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 2650.1 "mlb.lex.sml"*)
++ end
++| 288 => ((*#line 300.5 "mlb.lex"*)continue ()(*#line 2652.1 "mlb.lex.sml"*)
++)
++| 29 => let val yytext=yymktext() in (*#line 211.20 "mlb.lex"*)tok (Tokens.AND, yytext, source, yypos)(*#line 2654.1 "mlb.lex.sml"*)
++ end
++| 292 => ((*#line 303.5 "mlb.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN BLOCK_COMMENT)
++    ; YYBEGIN LINE_COMMENT
++    ; continue ()(*#line 2659.1 "mlb.lex.sml"*)
++)
++| 295 => ((*#line 308.5 "mlb.lex"*)startComment (source, yypos, fn () =>
++                  YYBEGIN BLOCK_COMMENT)
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 2664.1 "mlb.lex.sml"*)
++)
++| 298 => let val yytext=yymktext() in (*#line 313.5 "mlb.lex"*)finishComment (lastPos (yypos, yytext))
++    ; continue ()(*#line 2667.1 "mlb.lex.sml"*)
++ end
++| 303 => let val yytext=yymktext() in (*#line 316.5 "mlb.lex"*)Source.newline (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 2670.1 "mlb.lex.sml"*)
++ end
++| 305 => ((*#line 319.5 "mlb.lex"*)continue ()(*#line 2672.1 "mlb.lex.sml"*)
++)
++| 321 => ((*#line 323.5 "mlb.lex"*)startLineDir (source, yypos, fn () =>
++                  YYBEGIN INITIAL)
++    ; YYBEGIN LINE_DIR1
++    ; continue ()(*#line 2677.1 "mlb.lex.sml"*)
++)
++| 327 => let val yytext=yymktext() in (*#line 329.5 "mlb.lex"*)let
++       fun err () =
++          (addCommentError "Illegal line directive"
++           ; YYBEGIN BLOCK_COMMENT)
++     in
++        case String.split (yytext, #".") of
++           [line, col] =>
++              (YYBEGIN LINE_DIR2
++               ; addLineDirLineCol (valOf (Int.fromString line), valOf (Int.fromString col))
++                 handle Overflow => err () | Option => err ()
++               ; continue ())
++         | _ => (err (); continue ())
++     end(*#line 2691.1 "mlb.lex.sml"*)
++ end
++| 33 => let val yytext=yymktext() in (*#line 212.20 "mlb.lex"*)tok (Tokens.ANN, yytext, source, yypos)(*#line 2693.1 "mlb.lex.sml"*)
++ end
++| 337 => ((*#line 343.5 "mlb.lex"*)YYBEGIN LINE_DIR3
++    ; continue ()(*#line 2696.1 "mlb.lex.sml"*)
++)
++| 340 => let val yytext=yymktext() in (*#line 346.5 "mlb.lex"*)addLineDirFile (String.dropLast yytext)
++    ; YYBEGIN LINE_DIR4
++    ; continue ()(*#line 2700.1 "mlb.lex.sml"*)
++ end
++| 347 => let val yytext=yymktext() in (*#line 350.5 "mlb.lex"*)finishLineDir (source, lastPos (yypos, yytext))
++    ; continue ()(*#line 2703.1 "mlb.lex.sml"*)
++ end
++| 349 => ((*#line 353.5 "mlb.lex"*)addCommentError "Illegal line directive"
++    ; YYBEGIN BLOCK_COMMENT
++    ; continue ()(*#line 2707.1 "mlb.lex.sml"*)
++)
++| 351 => ((*#line 359.5 "mlb.lex"*)error (source, yypos, yypos, "Illegal character")
++    ; continue ()(*#line 2710.1 "mlb.lex.sml"*)
++)
++| 37 => let val yytext=yymktext() in (*#line 213.20 "mlb.lex"*)tok (Tokens.BAS, yytext, source, yypos)(*#line 2712.1 "mlb.lex.sml"*)
++ end
++| 43 => let val yytext=yymktext() in (*#line 214.22 "mlb.lex"*)tok (Tokens.BASIS, yytext, source, yypos)(*#line 2714.1 "mlb.lex.sml"*)
++ end
++| 47 => let val yytext=yymktext() in (*#line 215.20 "mlb.lex"*)tok (Tokens.END, yytext, source, yypos)(*#line 2716.1 "mlb.lex.sml"*)
++ end
++| 55 => let val yytext=yymktext() in (*#line 216.24 "mlb.lex"*)tok (Tokens.FUNCTOR, yytext, source, yypos)(*#line 2718.1 "mlb.lex.sml"*)
++ end
++| 58 => let val yytext=yymktext() in (*#line 217.19 "mlb.lex"*)tok (Tokens.IN, yytext, source, yypos)(*#line 2720.1 "mlb.lex.sml"*)
++ end
++| 62 => let val yytext=yymktext() in (*#line 218.20 "mlb.lex"*)tok (Tokens.LET, yytext, source, yypos)(*#line 2722.1 "mlb.lex.sml"*)
++ end
++| 68 => let val yytext=yymktext() in (*#line 219.22 "mlb.lex"*)tok (Tokens.LOCAL, yytext, source, yypos)(*#line 2724.1 "mlb.lex.sml"*)
++ end
++| 73 => let val yytext=yymktext() in (*#line 220.21 "mlb.lex"*)tok (Tokens.OPEN, yytext, source, yypos)(*#line 2726.1 "mlb.lex.sml"*)
++ end
++| 8 => ((*#line 202.21 "mlb.lex"*)continue ()(*#line 2728.1 "mlb.lex.sml"*)
++)
++| 83 => let val yytext=yymktext() in (*#line 221.26 "mlb.lex"*)tok (Tokens.SIGNATURE, yytext, source, yypos)(*#line 2730.1 "mlb.lex.sml"*)
++ end
++| 93 => let val yytext=yymktext() in (*#line 222.26 "mlb.lex"*)tok (Tokens.STRUCTURE, yytext, source, yypos)(*#line 2732.1 "mlb.lex.sml"*)
++ end
++| 96 => let val yytext=yymktext() in (*#line 224.19 "mlb.lex"*)tok' (Tokens.ID, yytext, source, yypos)(*#line 2734.1 "mlb.lex.sml"*)
++ end
++| _ => raise Internal.LexerError
++
++		) end )
++
++	val {fin,trans} = Vector.sub(Internal.tab, s)
++	val NewAcceptingLeaves = fin::AcceptingLeaves
++	in if l = !yybl then
++	     if trans = #trans(Vector.sub(Internal.tab,0))
++	       then action(l,NewAcceptingLeaves
++) else	    let val newchars= if !yydone then "" else yyinput 1024
++	    in if (String.size newchars)=0
++		  then (yydone := true;
++		        if (l=i0) then UserDeclarations.eof yyarg
++		                  else action(l,NewAcceptingLeaves))
++		  else (if i0=l then yyb := newchars
++		     else yyb := String.substring(!yyb,i0,l-i0)^newchars;
++		     yygone := YYPosInt.+(!yygone, YYPosInt.fromInt i0);
++		     yybl := String.size (!yyb);
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
++	  else let val NewChar = Char.ord(CharVector.sub(!yyb,l))
++		val NewState = Char.ord(CharVector.sub(trans,NewChar))
++		in if NewState=0 then action(l,NewAcceptingLeaves)
++		else scan(NewState,NewAcceptingLeaves,l+1,i0)
++	end
++	end
++(*
++	val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
++then !yybegin+1 else !yybegin
++*)
++	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++end
+diff --git a/mlyacc/Makefile b/mlyacc/Makefile
+index c3e9ee246..029a8acfd 100644
+--- a/mlyacc/Makefile
++++ b/mlyacc/Makefile
+@@ -24,15 +24,36 @@ $(NAME): $(NAME).mlb $(shell "$(RUN_MLTON_DEPS)" -stop f $(NAME).mlb)
+ clean:
+ 	$(SRC)/bin/clean
+ 
++ifeq (true,$(call HAVE_CMD,$(RUN_MLLEX)))
+ src/%.lex.sml: src/%.lex
+ 	$(RM) $<.*
+ 	$(RUN_MLLEX) $<
+ 	$(CHMOD) -w $<.*
++	$(CP) $<.sml $<.sml.boot
++else
++src/%.lex.sml: src/%.lex.sml.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++endif
+ 
++ifeq (true,$(call HAVE_CMD,$(RUN_MLYACC)))
+ src/%.grm.sig src/%.grm.sml: src/%.grm
+ 	$(RM) $<.*
+ 	$(RUN_MLYACC) $<
+ 	$(CHMOD) -w $<.*
++	$(CP) $<.sig $<.sig.boot
++	$(CP) $<.sml $<.sml.boot
++else
++src/%.grm.sig: src/%.grm.sig.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++src/%.grm.sml: src/%.grm.sml.boot
++	$(RM) $@
++	$(CP) $< $@
++	$(CHMOD) -w $@
++endif
+ 
+ 
+ PDFLATEX := pdflatex
+diff --git a/mlyacc/src/yacc.grm.sig.boot b/mlyacc/src/yacc.grm.sig.boot
+new file mode 100644
+index 000000000..80dce7488
+--- /dev/null
++++ b/mlyacc/src/yacc.grm.sig.boot
+@@ -0,0 +1,54 @@
++signature Mlyacc_TOKENS =
++sig
++type ('a,'b) token
++type svalue
++val BOGUS_VALUE:  'a * 'a -> (svalue,'a) token
++val UNKNOWN: (string) *  'a * 'a -> (svalue,'a) token
++val VALUE:  'a * 'a -> (svalue,'a) token
++val VERBOSE:  'a * 'a -> (svalue,'a) token
++val TYVAR: (string) *  'a * 'a -> (svalue,'a) token
++val TERM:  'a * 'a -> (svalue,'a) token
++val START:  'a * 'a -> (svalue,'a) token
++val SUBST:  'a * 'a -> (svalue,'a) token
++val RPAREN:  'a * 'a -> (svalue,'a) token
++val RBRACE:  'a * 'a -> (svalue,'a) token
++val PROG: (string) *  'a * 'a -> (svalue,'a) token
++val PREFER:  'a * 'a -> (svalue,'a) token
++val PREC_TAG:  'a * 'a -> (svalue,'a) token
++val PREC: (Header.prec) *  'a * 'a -> (svalue,'a) token
++val PERCENT_TOKEN_SIG_INFO:  'a * 'a -> (svalue,'a) token
++val PERCENT_ARG:  'a * 'a -> (svalue,'a) token
++val PERCENT_POS:  'a * 'a -> (svalue,'a) token
++val PERCENT_PURE:  'a * 'a -> (svalue,'a) token
++val PERCENT_EOP:  'a * 'a -> (svalue,'a) token
++val OF:  'a * 'a -> (svalue,'a) token
++val NOSHIFT:  'a * 'a -> (svalue,'a) token
++val NONTERM:  'a * 'a -> (svalue,'a) token
++val NODEFAULT:  'a * 'a -> (svalue,'a) token
++val NAME:  'a * 'a -> (svalue,'a) token
++val LPAREN:  'a * 'a -> (svalue,'a) token
++val LBRACE:  'a * 'a -> (svalue,'a) token
++val KEYWORD:  'a * 'a -> (svalue,'a) token
++val INT: (string) *  'a * 'a -> (svalue,'a) token
++val PERCENT_HEADER:  'a * 'a -> (svalue,'a) token
++val IDDOT: (string) *  'a * 'a -> (svalue,'a) token
++val ID: (string*Header.pos) *  'a * 'a -> (svalue,'a) token
++val HEADER: (string) *  'a * 'a -> (svalue,'a) token
++val FOR:  'a * 'a -> (svalue,'a) token
++val EOF:  'a * 'a -> (svalue,'a) token
++val DELIMITER:  'a * 'a -> (svalue,'a) token
++val COMMA:  'a * 'a -> (svalue,'a) token
++val COLON:  'a * 'a -> (svalue,'a) token
++val CHANGE:  'a * 'a -> (svalue,'a) token
++val BAR:  'a * 'a -> (svalue,'a) token
++val BLOCK:  'a * 'a -> (svalue,'a) token
++val ASTERISK:  'a * 'a -> (svalue,'a) token
++val ARROW:  'a * 'a -> (svalue,'a) token
++end
++signature Mlyacc_LRVALS=
++sig
++structure Tokens : Mlyacc_TOKENS
++structure ParserData:PARSER_DATA
++sharing type ParserData.Token.token = Tokens.token
++sharing type ParserData.svalue = Tokens.svalue
++end
+diff --git a/mlyacc/src/yacc.grm.sml.boot b/mlyacc/src/yacc.grm.sml.boot
+new file mode 100644
+index 000000000..4beacb341
+--- /dev/null
++++ b/mlyacc/src/yacc.grm.sml.boot
+@@ -0,0 +1,838 @@
++
++functor MlyaccLrValsFun(structure Hdr : HEADER
++                          where type prec = Header.prec
++                        structure Token : TOKEN)
++ = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(*#line 1.2 "yacc.grm"*)(* Modified by Vesa Karvonen on 2007-12-18.
++ * Create line directives in output.
++ *)
++(* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *)
++
++(* parser for the ML parser generator *)
++
++open Hdr
++
++(*#line 20.1 "yacc.grm.sml"*)
++end
++structure LrTable = Token.LrTable
++structure Token = Token
++local open LrTable in 
++val table=let val actionRows =
++"\
++\\001\000\001\000\076\000\000\000\
++\\001\000\005\000\025\000\008\000\024\000\014\000\023\000\016\000\022\000\
++\\019\000\021\000\020\000\020\000\021\000\019\000\022\000\018\000\
++\\024\000\017\000\025\000\016\000\026\000\015\000\027\000\014\000\
++\\028\000\013\000\029\000\012\000\031\000\011\000\035\000\010\000\
++\\036\000\009\000\037\000\008\000\039\000\007\000\040\000\006\000\000\000\
++\\001\000\006\000\063\000\000\000\
++\\001\000\006\000\074\000\000\000\
++\\001\000\006\000\086\000\000\000\
++\\001\000\006\000\098\000\000\000\
++\\001\000\007\000\085\000\033\000\084\000\000\000\
++\\001\000\009\000\000\000\000\000\
++\\001\000\010\000\061\000\000\000\
++\\001\000\011\000\003\000\000\000\
++\\001\000\012\000\026\000\000\000\
++\\001\000\012\000\028\000\000\000\
++\\001\000\012\000\029\000\000\000\
++\\001\000\012\000\032\000\000\000\
++\\001\000\012\000\044\000\013\000\043\000\000\000\
++\\001\000\012\000\044\000\013\000\043\000\017\000\042\000\032\000\041\000\
++\\038\000\040\000\000\000\
++\\001\000\012\000\048\000\000\000\
++\\001\000\012\000\053\000\000\000\
++\\001\000\012\000\071\000\015\000\070\000\000\000\
++\\001\000\012\000\071\000\015\000\070\000\033\000\069\000\000\000\
++\\001\000\012\000\077\000\000\000\
++\\001\000\012\000\080\000\000\000\
++\\001\000\012\000\101\000\000\000\
++\\001\000\032\000\036\000\000\000\
++\\001\000\032\000\037\000\000\000\
++\\001\000\032\000\050\000\000\000\
++\\001\000\032\000\057\000\000\000\
++\\001\000\032\000\100\000\000\000\
++\\001\000\032\000\104\000\000\000\
++\\106\000\012\000\053\000\000\000\
++\\107\000\000\000\
++\\108\000\000\000\
++\\109\000\004\000\058\000\000\000\
++\\110\000\004\000\058\000\000\000\
++\\111\000\000\000\
++\\112\000\000\000\
++\\113\000\000\000\
++\\114\000\000\000\
++\\115\000\000\000\
++\\116\000\000\000\
++\\117\000\000\000\
++\\118\000\000\000\
++\\119\000\000\000\
++\\120\000\000\000\
++\\121\000\000\000\
++\\122\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\123\000\000\000\
++\\124\000\000\000\
++\\125\000\000\000\
++\\126\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\127\000\000\000\
++\\128\000\000\000\
++\\129\000\004\000\075\000\000\000\
++\\130\000\000\000\
++\\131\000\000\000\
++\\132\000\004\000\060\000\000\000\
++\\133\000\000\000\
++\\134\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\135\000\023\000\091\000\000\000\
++\\136\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\137\000\023\000\059\000\000\000\
++\\138\000\004\000\094\000\000\000\
++\\139\000\000\000\
++\\140\000\000\000\
++\\141\000\000\000\
++\\142\000\012\000\034\000\000\000\
++\\143\000\000\000\
++\\144\000\000\000\
++\\145\000\000\000\
++\\146\000\000\000\
++\\147\000\000\000\
++\\148\000\000\000\
++\\149\000\000\000\
++\\150\000\000\000\
++\\151\000\012\000\044\000\013\000\043\000\000\000\
++\\152\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\153\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\154\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\
++\\155\000\000\000\
++\\156\000\000\000\
++\\157\000\000\000\
++\\158\000\000\000\
++\\159\000\000\000\
++\\160\000\030\000\096\000\000\000\
++\"
++val actionRowNumbers =
++"\009\000\031\000\001\000\030\000\
++\\010\000\046\000\011\000\012\000\
++\\013\000\065\000\065\000\023\000\
++\\024\000\015\000\048\000\065\000\
++\\065\000\011\000\047\000\016\000\
++\\065\000\025\000\017\000\065\000\
++\\026\000\032\000\060\000\035\000\
++\\055\000\040\000\008\000\038\000\
++\\065\000\034\000\043\000\002\000\
++\\049\000\073\000\068\000\071\000\
++\\019\000\014\000\078\000\036\000\
++\\041\000\033\000\044\000\037\000\
++\\042\000\029\000\063\000\003\000\
++\\052\000\039\000\000\000\050\000\
++\\020\000\015\000\013\000\021\000\
++\\064\000\015\000\072\000\015\000\
++\\015\000\006\000\004\000\070\000\
++\\081\000\080\000\079\000\062\000\
++\\065\000\065\000\065\000\058\000\
++\\059\000\054\000\056\000\045\000\
++\\074\000\075\000\069\000\018\000\
++\\015\000\061\000\083\000\051\000\
++\\053\000\015\000\005\000\077\000\
++\\065\000\027\000\022\000\057\000\
++\\015\000\083\000\066\000\082\000\
++\\076\000\028\000\067\000\007\000"
++val gotoT =
++"\
++\\001\000\103\000\000\000\
++\\006\000\002\000\000\000\
++\\005\000\003\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\025\000\000\000\
++\\000\000\
++\\013\000\029\000\014\000\028\000\000\000\
++\\003\000\031\000\000\000\
++\\003\000\033\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\037\000\017\000\036\000\000\000\
++\\000\000\
++\\003\000\043\000\000\000\
++\\003\000\044\000\000\000\
++\\002\000\045\000\000\000\
++\\000\000\
++\\000\000\
++\\003\000\047\000\000\000\
++\\000\000\
++\\010\000\050\000\011\000\049\000\000\000\
++\\003\000\054\000\015\000\053\000\016\000\052\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\060\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\004\000\066\000\008\000\065\000\000\000\
++\\007\000\070\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\010\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\037\000\017\000\076\000\000\000\
++\\013\000\077\000\014\000\028\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\037\000\017\000\079\000\000\000\
++\\000\000\
++\\007\000\037\000\017\000\080\000\000\000\
++\\007\000\037\000\017\000\081\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\086\000\009\000\085\000\000\000\
++\\003\000\054\000\015\000\087\000\016\000\052\000\000\000\
++\\003\000\088\000\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\007\000\062\000\000\000\
++\\007\000\062\000\000\000\
++\\000\000\
++\\004\000\090\000\000\000\
++\\007\000\037\000\017\000\091\000\000\000\
++\\000\000\
++\\012\000\093\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\037\000\017\000\095\000\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\003\000\097\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\007\000\037\000\017\000\100\000\000\000\
++\\012\000\101\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\062\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 104
++val numrules = 55
++val s = ref "" and index = ref 0
++val string_to_int = fn () => 
++let val i = !index
++in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
++end
++val string_to_list = fn s' =>
++    let val len = String.size s'
++        fun f () =
++           if !index < len then string_to_int() :: f()
++           else nil
++   in index := 0; s := s'; f ()
++   end
++val string_to_pairlist = fn (conv_key,conv_entry) =>
++     let fun f () =
++         case string_to_int()
++         of 0 => EMPTY
++          | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
++     in f
++     end
++val string_to_pairlist_default = fn (conv_key,conv_entry) =>
++    let val conv_row = string_to_pairlist(conv_key,conv_entry)
++    in fn () =>
++       let val default = conv_entry(string_to_int())
++           val row = conv_row()
++       in (row,default)
++       end
++   end
++val string_to_table = fn (convert_row,s') =>
++    let val len = String.size s'
++        fun f ()=
++           if !index < len then convert_row() :: f()
++           else nil
++     in (s := s'; index := 0; f ())
++     end
++local
++  val memo = Array.array(numstates+numrules,ERROR)
++  val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
++       fun f i =
++            if i=numstates then g i
++            else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
++          in f 0 handle General.Subscript => ()
++          end
++in
++val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
++end
++val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
++val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
++val actionRowNumbers = string_to_list actionRowNumbers
++val actionT = let val actionRowLookUp=
++let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
++in Array.fromList(List.map actionRowLookUp actionRowNumbers)
++end
++in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
++numStates=numstates,initialState=STATE 0}
++end
++end
++local open Header in
++type pos = pos
++type arg = Hdr.inputSource
++structure MlyValue = 
++struct
++datatype svalue = VOID | ntVOID of unit ->  unit | UNKNOWN of unit ->  (string) | TYVAR of unit ->  (string) | PROG of unit ->  (string) | PREC of unit ->  (Header.prec) | INT of unit ->  (string) | IDDOT of unit ->  (string) | ID of unit ->  (string*Header.pos) | HEADER of unit ->  (string) | TY of unit ->  (string) | CHANGE_DEC of unit ->  ( ( Hdr.symbol list * Hdr.symbol list ) ) | CHANGE_DECL of unit ->  ( ( Hdr.symbol list * Hdr.symbol list )  list) | SUBST_DEC of unit ->  ( ( Hdr.symbol list * Hdr.symbol list ) ) | SUBST_DECL of unit ->  ( ( Hdr.symbol list * Hdr.symbol list )  list) | G_RULE_PREC of unit ->  (Hdr.symbol option) | G_RULE_LIST of unit ->  (Hdr.rule list) | G_RULE of unit ->  (Hdr.rule list) | RHS_LIST of unit ->  ({ rhs:Hdr.symbol list,code:{ text:string,pos:Header.pos } ,prec:Hdr.symbol option }  list) | RECORD_LIST of unit ->  (string) | QUAL_ID of unit ->  (string) | MPC_DECLS of unit ->  (Hdr.declData) | MPC_DECL of unit ->  (Hdr.declData) | LABEL of unit ->  (string) | ID_LIST of unit ->  (Hdr.symbol list) | CONSTR_LIST of unit ->  ( ( Hdr.symbol * Hdr.ty option )  list) | BEGIN of unit ->  (string*Hdr.declData* ( Hdr.rule list ) )
++end
++type svalue = MlyValue.svalue
++type result = string*Hdr.declData* ( Hdr.rule list ) 
++end
++structure EC=
++struct
++open LrTable
++infix 5 $$
++fun x $$ y = y::x
++val is_keyword =
++fn _ => false
++val preferred_change : (term list * term list) list = 
++nil
++val noShift = 
++fn (T 8) => true | _ => false
++val showTerminal =
++fn (T 0) => "ARROW"
++  | (T 1) => "ASTERISK"
++  | (T 2) => "BLOCK"
++  | (T 3) => "BAR"
++  | (T 4) => "CHANGE"
++  | (T 5) => "COLON"
++  | (T 6) => "COMMA"
++  | (T 7) => "DELIMITER"
++  | (T 8) => "EOF"
++  | (T 9) => "FOR"
++  | (T 10) => "HEADER"
++  | (T 11) => "ID"
++  | (T 12) => "IDDOT"
++  | (T 13) => "PERCENT_HEADER"
++  | (T 14) => "INT"
++  | (T 15) => "KEYWORD"
++  | (T 16) => "LBRACE"
++  | (T 17) => "LPAREN"
++  | (T 18) => "NAME"
++  | (T 19) => "NODEFAULT"
++  | (T 20) => "NONTERM"
++  | (T 21) => "NOSHIFT"
++  | (T 22) => "OF"
++  | (T 23) => "PERCENT_EOP"
++  | (T 24) => "PERCENT_PURE"
++  | (T 25) => "PERCENT_POS"
++  | (T 26) => "PERCENT_ARG"
++  | (T 27) => "PERCENT_TOKEN_SIG_INFO"
++  | (T 28) => "PREC"
++  | (T 29) => "PREC_TAG"
++  | (T 30) => "PREFER"
++  | (T 31) => "PROG"
++  | (T 32) => "RBRACE"
++  | (T 33) => "RPAREN"
++  | (T 34) => "SUBST"
++  | (T 35) => "START"
++  | (T 36) => "TERM"
++  | (T 37) => "TYVAR"
++  | (T 38) => "VERBOSE"
++  | (T 39) => "VALUE"
++  | (T 40) => "UNKNOWN"
++  | (T 41) => "BOGUS_VALUE"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn _ => MlyValue.VOID
++end
++val terms : term list = nil
++ $$ (T 41) $$ (T 39) $$ (T 38) $$ (T 36) $$ (T 35) $$ (T 34) $$ (T 33) $$ (T 32) $$ (T 30) $$ (T 29) $$ (T 27) $$ (T 26) $$ (T 25) $$ (T 24) $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20) $$ (T 19) $$ (T 18) $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 13) $$ (T 9) $$ (T 8) $$ (T 7) $$ (T 6) $$ (T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end
++structure Actions =
++struct 
++exception mlyAction of int
++local open Header in
++val actions = 
++fn (i392,defaultPos,stack,
++    (inputSource):arg) =>
++case (i392,stack)
++of  ( 0, ( ( _, ( MlyValue.G_RULE_LIST G_RULE_LIST1, _, G_RULE_LIST1right)) :: _ :: ( _, ( MlyValue.MPC_DECLS MPC_DECLS1, _, _)) :: ( _, ( MlyValue.HEADER HEADER1, HEADER1left, _)) :: rest671)) => let val  result = MlyValue.BEGIN (fn _ => let val  (HEADER as HEADER1) = HEADER1 ()
++ val  (MPC_DECLS as MPC_DECLS1) = MPC_DECLS1 ()
++ val  (G_RULE_LIST as G_RULE_LIST1) = G_RULE_LIST1 ()
++ in ((*#line 58.10 "yacc.grm"*)HEADER,MPC_DECLS,rev G_RULE_LIST(*#line 388.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 0, ( result, HEADER1left, G_RULE_LIST1right), rest671)
++end
++|  ( 1, ( ( _, ( MlyValue.MPC_DECL MPC_DECL1, MPC_DECLleft, MPC_DECL1right)) :: ( _, ( MlyValue.MPC_DECLS MPC_DECLS1, MPC_DECLS1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECLS (fn _ => let val  (MPC_DECLS as MPC_DECLS1) = MPC_DECLS1 ()
++ val  (MPC_DECL as MPC_DECL1) = MPC_DECL1 ()
++ in ((*#line 61.16 "yacc.grm"*)join_decls(MPC_DECLS,MPC_DECL,inputSource,MPC_DECLleft)(*#line 396.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 5, ( result, MPC_DECLS1left, MPC_DECL1right), rest671)
++end
++|  ( 2, ( rest671)) => let val  result = MlyValue.MPC_DECLS (fn _ => ((*#line 63.14 "yacc.grm"*)DECL {prec=nil,nonterm=NONE,term=NONE,eop=nil,control=nil,
++                   keyword=nil,change=nil,
++                   value=nil}(*#line 403.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 5, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 3, ( ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, _, CONSTR_LIST1right)) :: ( _, ( _, TERM1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 ()
++ in ((*#line 68.14 "yacc.grm"*)DECL { prec=nil,nonterm=NONE,
++               term = SOME CONSTR_LIST, eop =nil,control=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 409.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, TERM1left, CONSTR_LIST1right), rest671)
++end
++|  ( 4, ( ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, _, CONSTR_LIST1right)) :: ( _, ( _, NONTERM1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 ()
++ in ((*#line 74.14 "yacc.grm"*)DECL { prec=nil,control=nil,nonterm= SOME CONSTR_LIST,
++               term = NONE, eop=nil,change=nil,keyword=nil,
++               value=nil}(*#line 418.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, NONTERM1left, CONSTR_LIST1right), rest671)
++end
++|  ( 5, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( MlyValue.PREC PREC1, PREC1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (PREC as PREC1) = PREC1 ()
++ val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 79.14 "yacc.grm"*)DECL {prec= [(PREC,ID_LIST)],control=nil,
++              nonterm=NONE,term=NONE,eop=nil,change=nil,
++              keyword=nil,value=nil}(*#line 426.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PREC1left, ID_LIST1right), rest671)
++end
++|  ( 6, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, START1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 84.15 "yacc.grm"*)DECL {prec=nil,control=[START_SYM (symbolMake ID)],nonterm=NONE,
++               term = NONE, eop = nil,change=nil,keyword=nil,
++               value=nil}(*#line 435.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, START1left, ID1right), rest671)
++end
++|  ( 7, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, PERCENT_EOP1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 89.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,
++                eop=ID_LIST, change=nil,keyword=nil,
++                value=nil}(*#line 443.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_EOP1left, ID_LIST1right), rest671)
++end
++|  ( 8, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, KEYWORD1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 94.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=ID_LIST,
++                value=nil}(*#line 451.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, KEYWORD1left, ID_LIST1right), rest671)
++end
++|  ( 9, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, PREFER1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 99.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
++                    change=map (fn i=>([],[i])) ID_LIST,keyword=nil,
++                    value=nil}(*#line 459.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PREFER1left, ID_LIST1right), rest671)
++end
++|  ( 10, ( ( _, ( MlyValue.CHANGE_DECL CHANGE_DECL1, _, CHANGE_DECL1right)) :: ( _, ( _, CHANGE1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (CHANGE_DECL as CHANGE_DECL1) = CHANGE_DECL1 ()
++ in ((*#line 104.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
++                change=CHANGE_DECL,keyword=nil,
++                value=nil}(*#line 467.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, CHANGE1left, CHANGE_DECL1right), rest671)
++end
++|  ( 11, ( ( _, ( MlyValue.SUBST_DECL SUBST_DECL1, _, SUBST_DECL1right)) :: ( _, ( _, SUBST1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (SUBST_DECL as SUBST_DECL1) = SUBST_DECL1 ()
++ in ((*#line 108.15 "yacc.grm"*)DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
++                change=SUBST_DECL,keyword=nil,
++                value=nil}(*#line 475.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, SUBST1left, SUBST_DECL1right), rest671)
++end
++|  ( 12, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( _, NOSHIFT1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 112.15 "yacc.grm"*)DECL {prec=nil,control=[NSHIFT ID_LIST],nonterm=NONE,term=NONE,
++                    eop=nil,change=nil,keyword=nil,
++                    value=nil}(*#line 483.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, NOSHIFT1left, ID_LIST1right), rest671)
++end
++|  ( 13, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_HEADER1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 116.15 "yacc.grm"*)DECL {prec=nil,control=[FUNCTOR PROG],nonterm=NONE,term=NONE,
++                    eop=nil,change=nil,keyword=nil,
++                    value=nil}(*#line 491.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_HEADER1left, PROG1right), rest671)
++end
++|  ( 14, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( _, PERCENT_TOKEN_SIG_INFO1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 120.15 "yacc.grm"*)DECL {prec=nil,control=[TOKEN_SIG_INFO PROG],
++                    nonterm=NONE,term=NONE,
++                    eop=nil,change=nil,keyword=nil,
++                    value=nil}(*#line 499.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_TOKEN_SIG_INFO1left, PROG1right), rest671)
++end
++|  ( 15, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, NAME1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 125.15 "yacc.grm"*)DECL {prec=nil,control=[PARSER_NAME (symbolMake ID)],
++                    nonterm=NONE,term=NONE,
++                    eop=nil,change=nil,keyword=nil, value=nil}(*#line 508.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, NAME1left, ID1right), rest671)
++end
++|  ( 16, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.PROG PROG1, _, _)) :: ( _, ( _, PERCENT_ARG1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (PROG as PROG1) = PROG1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 130.15 "yacc.grm"*)DECL {prec=nil,control=[PARSE_ARG(PROG,TY)],nonterm=NONE,
++                    term=NONE,eop=nil,change=nil,keyword=nil,
++                     value=nil}(*#line 516.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_ARG1left, TY1right), rest671)
++end
++|  ( 17, ( ( _, ( _, VERBOSE1left, VERBOSE1right)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => ((*#line 135.15 "yacc.grm"*)DECL {prec=nil,control=[Hdr.VERBOSE],
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 525.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 4, ( result, VERBOSE1left, VERBOSE1right), rest671)
++end
++|  ( 18, ( ( _, ( _, NODEFAULT1left, NODEFAULT1right)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => ((*#line 140.15 "yacc.grm"*)DECL {prec=nil,control=[Hdr.NODEFAULT],
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 532.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 4, ( result, NODEFAULT1left, NODEFAULT1right), rest671)
++end
++|  ( 19, ( ( _, ( _, PERCENT_PURE1left, PERCENT_PURE1right)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => ((*#line 145.15 "yacc.grm"*)DECL {prec=nil,control=[Hdr.PURE],
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 539.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 4, ( result, PERCENT_PURE1left, PERCENT_PURE1right), rest671)
++end
++|  ( 20, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: ( _, ( _, PERCENT_POS1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (TY as TY1) = TY1 ()
++ in ((*#line 150.15 "yacc.grm"*)DECL {prec=nil,control=[Hdr.POS TY],
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=nil}(*#line 546.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, PERCENT_POS1left, TY1right), rest671)
++end
++|  ( 21, ( ( _, ( MlyValue.PROG PROG1, _, PROG1right)) :: ( _, ( MlyValue.ID ID1, _, _)) :: ( _, ( _, VALUE1left, _)) :: rest671)) => let val  result = MlyValue.MPC_DECL (fn _ => let val  (ID as ID1) = ID1 ()
++ val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 155.15 "yacc.grm"*)DECL {prec=nil,control=nil,
++                nonterm=NONE,term=NONE,eop=nil,
++                change=nil,keyword=nil,
++                value=[(symbolMake ID,PROG)]}(*#line 555.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 4, ( result, VALUE1left, PROG1right), rest671)
++end
++|  ( 22, ( ( _, ( MlyValue.CHANGE_DECL CHANGE_DECL1, _, CHANGE_DECL1right)) :: _ :: ( _, ( MlyValue.CHANGE_DEC CHANGE_DEC1, CHANGE_DEC1left, _)) :: rest671)) => let val  result = MlyValue.CHANGE_DECL (fn _ => let val  (CHANGE_DEC as CHANGE_DEC1) = CHANGE_DEC1 ()
++ val  (CHANGE_DECL as CHANGE_DECL1) = CHANGE_DECL1 ()
++ in ((*#line 161.22 "yacc.grm"*)CHANGE_DEC :: CHANGE_DECL(*#line 565.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, CHANGE_DEC1left, CHANGE_DECL1right), rest671)
++end
++|  ( 23, ( ( _, ( MlyValue.CHANGE_DEC CHANGE_DEC1, CHANGE_DEC1left, CHANGE_DEC1right)) :: rest671)) => let val  result = MlyValue.CHANGE_DECL (fn _ => let val  (CHANGE_DEC as CHANGE_DEC1) = CHANGE_DEC1 ()
++ in ((*#line 163.22 "yacc.grm"*)[CHANGE_DEC](*#line 572.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 14, ( result, CHANGE_DEC1left, CHANGE_DEC1right), rest671)
++end
++|  ( 24, ( ( _, ( MlyValue.ID_LIST ID_LIST2, _, ID_LIST2right)) :: _ :: ( _, ( MlyValue.ID_LIST ID_LIST1, ID_LIST1left, _)) :: rest671)) => let val  result = MlyValue.CHANGE_DEC (fn _ => let val  ID_LIST1 = ID_LIST1 ()
++ val  ID_LIST2 = ID_LIST2 ()
++ in ((*#line 166.20 "yacc.grm"*)ID_LIST1, ID_LIST2(*#line 578.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 15, ( result, ID_LIST1left, ID_LIST2right), rest671)
++end
++|  ( 25, ( ( _, ( MlyValue.SUBST_DECL SUBST_DECL1, _, SUBST_DECL1right)) :: _ :: ( _, ( MlyValue.SUBST_DEC SUBST_DEC1, SUBST_DEC1left, _)) :: rest671)) => let val  result = MlyValue.SUBST_DECL (fn _ => let val  (SUBST_DEC as SUBST_DEC1) = SUBST_DEC1 ()
++ val  (SUBST_DECL as SUBST_DECL1) = SUBST_DECL1 ()
++ in ((*#line 169.16 "yacc.grm"*)SUBST_DEC :: SUBST_DECL(*#line 585.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 12, ( result, SUBST_DEC1left, SUBST_DECL1right), rest671)
++end
++|  ( 26, ( ( _, ( MlyValue.SUBST_DEC SUBST_DEC1, SUBST_DEC1left, SUBST_DEC1right)) :: rest671)) => let val  result = MlyValue.SUBST_DECL (fn _ => let val  (SUBST_DEC as SUBST_DEC1) = SUBST_DEC1 ()
++ in ((*#line 171.16 "yacc.grm"*)[SUBST_DEC](*#line 592.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 12, ( result, SUBST_DEC1left, SUBST_DEC1right), rest671)
++end
++|  ( 27, ( ( _, ( MlyValue.ID ID2, _, ID2right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val  result = MlyValue.SUBST_DEC (fn _ => let val  ID1 = ID1 ()
++ val  ID2 = ID2 ()
++ in ((*#line 174.16 "yacc.grm"*)[symbolMake ID2],[symbolMake ID1](*#line 598.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 13, ( result, ID1left, ID2right), rest671)
++end
++|  ( 28, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.ID ID1, _, _)) :: _ :: ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, CONSTR_LIST1left, _)) :: rest671)) => let val  result = MlyValue.CONSTR_LIST (fn _ => let val  (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 ()
++ val  (ID as ID1) = ID1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 177.15 "yacc.grm"*)(symbolMake ID,SOME (tyMake TY))::CONSTR_LIST(*#line 605.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, CONSTR_LIST1left, TY1right), rest671)
++end
++|  ( 29, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: _ :: ( _, ( MlyValue.CONSTR_LIST CONSTR_LIST1, CONSTR_LIST1left, _)) :: rest671)) => let val  result = MlyValue.CONSTR_LIST (fn _ => let val  (CONSTR_LIST as CONSTR_LIST1) = CONSTR_LIST1 ()
++ val  (ID as ID1) = ID1 ()
++ in ((*#line 180.15 "yacc.grm"*)(symbolMake ID,NONE)::CONSTR_LIST(*#line 613.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, CONSTR_LIST1left, ID1right), rest671)
++end
++|  ( 30, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val  result = MlyValue.CONSTR_LIST (fn _ => let val  (ID as ID1) = ID1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 182.21 "yacc.grm"*)[(symbolMake ID,SOME (tyMake TY))](*#line 620.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, ID1left, TY1right), rest671)
++end
++|  ( 31, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val  result = MlyValue.CONSTR_LIST (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 184.15 "yacc.grm"*)[(symbolMake ID,NONE)](*#line 627.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 1, ( result, ID1left, ID1right), rest671)
++end
++|  ( 32, ( ( _, ( MlyValue.RHS_LIST RHS_LIST1, _, RHS_LIST1right)) :: _ :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val  result = MlyValue.G_RULE (fn _ => let val  (ID as ID1) = ID1 ()
++ val  (RHS_LIST as RHS_LIST1) = RHS_LIST1 ()
++ in ((*#line 187.10 "yacc.grm"*)map (fn {rhs,code,prec} =>
++                  Hdr.RULE {lhs=symbolMake ID,rhs=rhs,
++                               code=code,prec=prec})
++         RHS_LIST(*#line 633.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 9, ( result, ID1left, RHS_LIST1right), rest671)
++end
++|  ( 33, ( ( _, ( MlyValue.G_RULE G_RULE1, _, G_RULE1right)) :: ( _, ( MlyValue.G_RULE_LIST G_RULE_LIST1, G_RULE_LIST1left, _)) :: rest671)) => let val  result = MlyValue.G_RULE_LIST (fn _ => let val  (G_RULE_LIST as G_RULE_LIST1) = G_RULE_LIST1 ()
++ val  (G_RULE as G_RULE1) = G_RULE1 ()
++ in ((*#line 192.35 "yacc.grm"*)G_RULE@G_RULE_LIST(*#line 643.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, G_RULE_LIST1left, G_RULE1right), rest671)
++end
++|  ( 34, ( ( _, ( MlyValue.G_RULE G_RULE1, G_RULE1left, G_RULE1right)) :: rest671)) => let val  result = MlyValue.G_RULE_LIST (fn _ => let val  (G_RULE as G_RULE1) = G_RULE1 ()
++ in ((*#line 193.27 "yacc.grm"*)G_RULE(*#line 650.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 10, ( result, G_RULE1left, G_RULE1right), rest671)
++end
++|  ( 35, ( ( _, ( MlyValue.ID_LIST ID_LIST1, _, ID_LIST1right)) :: ( _, ( MlyValue.ID ID1, ID1left, _)) :: rest671)) => let val  result = MlyValue.ID_LIST (fn _ => let val  (ID as ID1) = ID1 ()
++ val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ in ((*#line 195.23 "yacc.grm"*)symbolMake ID :: ID_LIST(*#line 656.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 2, ( result, ID1left, ID_LIST1right), rest671)
++end
++|  ( 36, ( rest671)) => let val  result = MlyValue.ID_LIST (fn _ => ((*#line 196.19 "yacc.grm"*)nil(*#line 663.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 2, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 37, ( ( _, ( MlyValue.PROG PROG1, PROGleft, PROG1right)) :: ( _, ( MlyValue.G_RULE_PREC G_RULE_PREC1, _, _)) :: ( _, ( MlyValue.ID_LIST ID_LIST1, ID_LIST1left, _)) :: rest671)) => let val  result = MlyValue.RHS_LIST (fn _ => let val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ val  (G_RULE_PREC as G_RULE_PREC1) = G_RULE_PREC1 ()
++ val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 199.14 "yacc.grm"*)[{rhs=ID_LIST,code={text=PROG,pos=PROGleft},prec=G_RULE_PREC}](*#line 667.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 8, ( result, ID_LIST1left, PROG1right), rest671)
++end
++|  ( 38, ( ( _, ( MlyValue.PROG PROG1, PROGleft, PROG1right)) :: ( _, ( MlyValue.G_RULE_PREC G_RULE_PREC1, _, _)) :: ( _, ( MlyValue.ID_LIST ID_LIST1, _, _)) :: _ :: ( _, ( MlyValue.RHS_LIST RHS_LIST1, RHS_LIST1left, _)) :: rest671)) => let val  result = MlyValue.RHS_LIST (fn _ => let val  (RHS_LIST as RHS_LIST1) = RHS_LIST1 ()
++ val  (ID_LIST as ID_LIST1) = ID_LIST1 ()
++ val  (G_RULE_PREC as G_RULE_PREC1) = G_RULE_PREC1 ()
++ val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 202.14 "yacc.grm"*){rhs=ID_LIST,code={text=PROG,pos=PROGleft},prec=G_RULE_PREC}::RHS_LIST(*#line 675.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 8, ( result, RHS_LIST1left, PROG1right), rest671)
++end
++|  ( 39, ( ( _, ( MlyValue.TYVAR TYVAR1, TYVAR1left, TYVAR1right)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (TYVAR as TYVAR1) = TYVAR1 ()
++ in ((*#line 205.10 "yacc.grm"*)TYVAR(*#line 684.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, TYVAR1left, TYVAR1right), rest671)
++end
++|  ( 40, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.RECORD_LIST RECORD_LIST1, _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (RECORD_LIST as RECORD_LIST1) = RECORD_LIST1 ()
++ in ((*#line 207.10 "yacc.grm"*)"{ "^RECORD_LIST^" } "(*#line 690.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 41, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => ((*#line 209.10 "yacc.grm"*)"{}"(*#line 696.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 16, ( result, LBRACE1left, RBRACE1right), rest671)
++end
++|  ( 42, ( ( _, ( MlyValue.PROG PROG1, PROG1left, PROG1right)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (PROG as PROG1) = PROG1 ()
++ in ((*#line 211.10 "yacc.grm"*)" ( "^PROG^" ) "(*#line 700.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, PROG1left, PROG1right), rest671)
++end
++|  ( 43, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, _, QUAL_ID1right)) :: ( _, ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (TY as TY1) = TY1 ()
++ val  (QUAL_ID as QUAL_ID1) = QUAL_ID1 ()
++ in ((*#line 213.10 "yacc.grm"*)TY^" "^QUAL_ID(*#line 706.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, TY1left, QUAL_ID1right), rest671)
++end
++|  ( 44, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, QUAL_ID1left, QUAL_ID1right)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  (QUAL_ID as QUAL_ID1) = QUAL_ID1 ()
++ in ((*#line 215.10 "yacc.grm"*)QUAL_ID(*#line 713.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, QUAL_ID1left, QUAL_ID1right), rest671)
++end
++|  ( 45, ( ( _, ( MlyValue.TY TY2, _, TY2right)) :: _ :: ( _, ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  TY1 = TY1 ()
++ val  TY2 = TY2 ()
++ in ((*#line 217.10 "yacc.grm"*)TY1^"*"^TY2(*#line 719.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, TY1left, TY2right), rest671)
++end
++|  ( 46, ( ( _, ( MlyValue.TY TY2, _, TY2right)) :: _ :: ( _, ( MlyValue.TY TY1, TY1left, _)) :: rest671)) => let val  result = MlyValue.TY (fn _ => let val  TY1 = TY1 ()
++ val  TY2 = TY2 ()
++ in ((*#line 219.10 "yacc.grm"*)TY1 ^ " -> " ^ TY2(*#line 726.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 16, ( result, TY1left, TY2right), rest671)
++end
++|  ( 47, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.LABEL LABEL1, _, _)) :: _ :: ( _, ( MlyValue.RECORD_LIST RECORD_LIST1, RECORD_LIST1left, _)) :: rest671)) => let val  result = MlyValue.RECORD_LIST (fn _ => let val  (RECORD_LIST as RECORD_LIST1) = RECORD_LIST1 ()
++ val  (LABEL as LABEL1) = LABEL1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 222.18 "yacc.grm"*)RECORD_LIST^","^LABEL^":"^TY(*#line 733.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, RECORD_LIST1left, TY1right), rest671)
++end
++|  ( 48, ( ( _, ( MlyValue.TY TY1, _, TY1right)) :: _ :: ( _, ( MlyValue.LABEL LABEL1, LABEL1left, _)) :: rest671)) => let val  result = MlyValue.RECORD_LIST (fn _ => let val  (LABEL as LABEL1) = LABEL1 ()
++ val  (TY as TY1) = TY1 ()
++ in ((*#line 224.18 "yacc.grm"*)LABEL^":"^TY(*#line 741.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 7, ( result, LABEL1left, TY1right), rest671)
++end
++|  ( 49, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val  result = MlyValue.QUAL_ID (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 226.18 "yacc.grm"*)(fn (a,_) => a) ID(*#line 748.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 6, ( result, ID1left, ID1right), rest671)
++end
++|  ( 50, ( ( _, ( MlyValue.QUAL_ID QUAL_ID1, _, QUAL_ID1right)) :: ( _, ( MlyValue.IDDOT IDDOT1, IDDOT1left, _)) :: rest671)) => let val  result = MlyValue.QUAL_ID (fn _ => let val  (IDDOT as IDDOT1) = IDDOT1 ()
++ val  (QUAL_ID as QUAL_ID1) = QUAL_ID1 ()
++ in ((*#line 227.25 "yacc.grm"*)IDDOT^QUAL_ID(*#line 754.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 6, ( result, IDDOT1left, QUAL_ID1right), rest671)
++end
++|  ( 51, ( ( _, ( MlyValue.ID ID1, ID1left, ID1right)) :: rest671)) => let val  result = MlyValue.LABEL (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 229.14 "yacc.grm"*)(fn (a,_) => a) ID(*#line 761.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, ID1left, ID1right), rest671)
++end
++|  ( 52, ( ( _, ( MlyValue.INT INT1, INT1left, INT1right)) :: rest671)) => let val  result = MlyValue.LABEL (fn _ => let val  (INT as INT1) = INT1 ()
++ in ((*#line 230.14 "yacc.grm"*)INT(*#line 767.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 3, ( result, INT1left, INT1right), rest671)
++end
++|  ( 53, ( ( _, ( MlyValue.ID ID1, _, ID1right)) :: ( _, ( _, PREC_TAG1left, _)) :: rest671)) => let val  result = MlyValue.G_RULE_PREC (fn _ => let val  (ID as ID1) = ID1 ()
++ in ((*#line 232.28 "yacc.grm"*)SOME (symbolMake ID)(*#line 773.1 "yacc.grm.sml"*)
++)
++end)
++ in ( LrTable.NT 11, ( result, PREC_TAG1left, ID1right), rest671)
++end
++|  ( 54, ( rest671)) => let val  result = MlyValue.G_RULE_PREC (fn _ => ((*#line 234.16 "yacc.grm"*)NONE(*#line 779.1 "yacc.grm.sml"*)
++))
++ in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671)
++end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID
++val extract = fn a => (fn MlyValue.BEGIN x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a ()
++end
++end
++structure Tokens : Mlyacc_TOKENS =
++struct
++type svalue = ParserData.svalue
++type ('a,'b) token = ('a,'b) Token.token
++fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(ParserData.MlyValue.VOID,p1,p2))
++fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(ParserData.MlyValue.VOID,p1,p2))
++fun BLOCK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(ParserData.MlyValue.VOID,p1,p2))
++fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(ParserData.MlyValue.VOID,p1,p2))
++fun CHANGE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(ParserData.MlyValue.VOID,p1,p2))
++fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(ParserData.MlyValue.VOID,p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(ParserData.MlyValue.VOID,p1,p2))
++fun DELIMITER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(ParserData.MlyValue.VOID,p1,p2))
++fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(ParserData.MlyValue.VOID,p1,p2))
++fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(ParserData.MlyValue.VOID,p1,p2))
++fun HEADER (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(ParserData.MlyValue.HEADER (fn () => i),p1,p2))
++fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(ParserData.MlyValue.ID (fn () => i),p1,p2))
++fun IDDOT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(ParserData.MlyValue.IDDOT (fn () => i),p1,p2))
++fun PERCENT_HEADER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(ParserData.MlyValue.VOID,p1,p2))
++fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(ParserData.MlyValue.INT (fn () => i),p1,p2))
++fun KEYWORD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(ParserData.MlyValue.VOID,p1,p2))
++fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(ParserData.MlyValue.VOID,p1,p2))
++fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(ParserData.MlyValue.VOID,p1,p2))
++fun NAME (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(ParserData.MlyValue.VOID,p1,p2))
++fun NODEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(ParserData.MlyValue.VOID,p1,p2))
++fun NONTERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(ParserData.MlyValue.VOID,p1,p2))
++fun NOSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(ParserData.MlyValue.VOID,p1,p2))
++fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_EOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_PURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_POS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_ARG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(ParserData.MlyValue.VOID,p1,p2))
++fun PERCENT_TOKEN_SIG_INFO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(ParserData.MlyValue.VOID,p1,p2))
++fun PREC (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(ParserData.MlyValue.PREC (fn () => i),p1,p2))
++fun PREC_TAG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(ParserData.MlyValue.VOID,p1,p2))
++fun PREFER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(ParserData.MlyValue.VOID,p1,p2))
++fun PROG (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(ParserData.MlyValue.PROG (fn () => i),p1,p2))
++fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(ParserData.MlyValue.VOID,p1,p2))
++fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(ParserData.MlyValue.VOID,p1,p2))
++fun SUBST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(ParserData.MlyValue.VOID,p1,p2))
++fun START (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(ParserData.MlyValue.VOID,p1,p2))
++fun TERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(ParserData.MlyValue.VOID,p1,p2))
++fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(ParserData.MlyValue.TYVAR (fn () => i),p1,p2))
++fun VERBOSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(ParserData.MlyValue.VOID,p1,p2))
++fun VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(ParserData.MlyValue.VOID,p1,p2))
++fun UNKNOWN (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(ParserData.MlyValue.UNKNOWN (fn () => i),p1,p2))
++fun BOGUS_VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(ParserData.MlyValue.VOID,p1,p2))
++end
++end
+diff --git a/mlyacc/src/yacc.lex.sml.boot b/mlyacc/src/yacc.lex.sml.boot
+new file mode 100644
+index 000000000..734677119
+--- /dev/null
++++ b/mlyacc/src/yacc.lex.sml.boot
+@@ -0,0 +1,954 @@
++(*#line 62.10 "yacc.lex"*)
++functor LexMLYACC(structure Tokens : Mlyacc_TOKENS
++                  structure Hdr : HEADER (* = Header *)
++                    where type prec = Header.prec
++                      and type inputSource = Header.inputSource) : ARG_LEXER
++(*#line 6.1 "yacc.lex.sml"*)
++=
++   struct
++    structure UserDeclarations =
++      struct
++(*#line 1.1 "yacc.lex"*)(* Modified by Vesa Karvonen on 2007-12-18.
++ * Create line directives in output.
++ *)
++(* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi
++
++   yacc.lex: Lexer specification
++ *)
++
++structure Tokens = Tokens
++type svalue = Tokens.svalue
++type pos = Header.pos
++type ('a,'b) token = ('a,'b) Tokens.token
++type lexresult = (svalue,pos) token
++
++type lexarg = Hdr.inputSource
++type arg = lexarg
++
++open Tokens
++val error = Hdr.error
++val text = Hdr.text
++
++val pcount = ref 0
++val commentLevel = ref 0
++val actionstart = ref {line = 1, col = 0}
++
++fun linePos () = {line = !(#line Hdr.pos), col = 0}
++fun pos pos = {line = !(#line Hdr.pos), col = pos - !(#start Hdr.pos)}
++
++val eof = fn i => (if (!pcount)>0 then
++                        error i (!actionstart)
++                              " eof encountered in action beginning here !"
++                   else (); EOF(linePos (), linePos ()))
++
++val Add = fn s => (text := s::(!text))
++
++
++local val dict = [("%prec",PREC_TAG),("%term",TERM),
++               ("%nonterm",NONTERM), ("%eop",PERCENT_EOP),("%start",START),
++               ("%prefer",PREFER),("%subst",SUBST),("%change",CHANGE),
++               ("%keyword",KEYWORD),("%name",NAME),
++               ("%verbose",VERBOSE), ("%nodefault",NODEFAULT),
++               ("%value",VALUE), ("%noshift",NOSHIFT),
++               ("%header",PERCENT_HEADER),("%pure",PERCENT_PURE),
++               ("%token_sig_info",PERCENT_TOKEN_SIG_INFO),
++               ("%arg",PERCENT_ARG),
++               ("%pos",PERCENT_POS)]
++in
++fun lookup (s,left,right) = let
++       fun f ((a,d)::b) = if a=s then d(left,right) else f b
++         | f nil = UNKNOWN(s,left,right)
++       in
++          f dict
++       end
++end
++
++fun inc (ri as ref i) = (ri := i+1)
++fun dec (ri as ref i) = (ri := i-1)
++
++fun incLineNum pos = (inc (#line Hdr.pos) ; #start Hdr.pos := pos)
++
++(*#line 71.1 "yacc.lex.sml"*)
++end (* end of user routines *)
++exception LexError (* raised if illegal leaf action tried *)
++structure Internal =
++	struct
++
++datatype yyfinstate = N of int
++type statedata = {fin : yyfinstate list, trans: string}
++(* transition & final state table *)
++val tab = let
++val s = [ 
++ (0, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (1, 
++"\015\015\015\015\015\015\015\015\015\015\022\015\015\021\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\019\015\015\017\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015"
++),
++ (3, 
++"\023\023\023\023\023\023\023\023\023\066\069\023\023\068\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\066\023\023\023\023\046\023\044\042\023\041\023\040\038\023\023\
++\\036\036\036\036\036\036\036\036\036\036\035\023\023\023\023\023\
++\\023\027\027\027\027\027\027\027\027\027\027\027\027\027\027\027\
++\\027\027\027\027\027\027\027\027\027\027\027\023\023\023\023\023\
++\\023\027\027\027\027\027\032\027\027\027\027\027\027\027\027\030\
++\\027\027\027\027\027\027\027\027\027\027\027\026\025\024\023\023\
++\\023"
++),
++ (5, 
++"\070\070\070\070\070\070\070\070\070\070\022\070\070\075\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\074\070\070\070\070\070\072\071\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070"
++),
++ (7, 
++"\076\076\076\076\076\076\076\076\076\078\022\076\076\080\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\078\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\077\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\076\
++\\076"
++),
++ (9, 
++"\081\081\081\081\081\081\081\081\081\081\022\081\081\075\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\085\084\082\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081"
++),
++ (11, 
++"\087\087\087\087\087\087\087\087\087\087\095\087\087\094\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\093\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\088\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087"
++),
++ (13, 
++"\096\096\096\096\096\096\096\096\096\096\022\096\096\075\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\100\099\097\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096"
++),
++ (15, 
++"\016\016\016\016\016\016\016\016\016\016\000\016\016\000\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\000\016\016\000\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016\
++\\016"
++),
++ (17, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (19, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (21, 
++"\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (27, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\
++\\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\
++\\000"
++),
++ (30, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\
++\\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\
++\\000\028\028\028\028\028\031\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\
++\\000"
++),
++ (32, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\
++\\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\033\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\
++\\000"
++),
++ (33, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\028\000\000\000\000\000\000\029\000\
++\\028\028\028\028\028\028\028\028\028\028\000\000\000\000\000\000\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\028\028\028\028\028\028\028\028\028\000\000\000\000\028\
++\\000\028\028\028\028\028\028\028\028\028\028\028\028\028\028\028\
++\\028\028\034\028\028\028\028\028\028\028\028\000\000\000\000\000\
++\\000"
++),
++ (36, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\037\037\037\037\037\037\037\037\037\037\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (38, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\039\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (42, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\043\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (44, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\045\000\000\000\000\000\000\000\000\
++\\045\045\045\045\045\045\045\045\045\045\000\000\000\000\000\000\
++\\000\045\045\045\045\045\045\045\045\045\045\045\045\045\045\045\
++\\045\045\045\045\045\045\045\045\045\045\045\000\000\000\000\045\
++\\000\045\045\045\045\045\045\045\045\045\045\045\045\045\045\045\
++\\045\045\045\045\045\045\045\045\045\045\045\000\000\000\000\000\
++\\000"
++),
++ (46, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\065\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\061\047\053\047\
++\\047\047\048\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (47, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (48, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\049\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (49, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\050\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (50, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\051\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (51, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\052\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (53, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\054\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (54, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\055\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (55, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\056\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (56, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\057\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (57, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\058\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (58, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\059\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (59, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\060\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (61, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\062\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (62, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\063\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\047\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (63, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\047\
++\\000\047\047\047\047\047\047\047\047\047\047\047\047\047\047\047\
++\\047\047\047\047\064\047\047\047\047\047\047\000\000\000\000\000\
++\\000"
++),
++ (66, 
++"\000\000\000\000\000\000\000\000\000\067\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\067\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (68, 
++"\000\000\000\000\000\000\000\000\000\000\069\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (70, 
++"\070\070\070\070\070\070\070\070\070\070\000\070\070\000\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\000\070\070\070\070\070\000\000\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\070\
++\\070"
++),
++ (72, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\073\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (78, 
++"\000\000\000\000\000\000\000\000\000\079\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\079\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (81, 
++"\081\081\081\081\081\081\081\081\081\081\000\081\081\000\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\000\000\000\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\081\
++\\081"
++),
++ (82, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\083\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (85, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\086\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (87, 
++"\087\087\087\087\087\087\087\087\087\087\000\087\087\000\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\000\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\000\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\087\
++\\087"
++),
++ (88, 
++"\000\000\000\000\000\000\000\000\000\090\092\000\000\091\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\090\000\089\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (91, 
++"\000\000\000\000\000\000\000\000\000\000\092\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (94, 
++"\000\000\000\000\000\000\000\000\000\000\095\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (96, 
++"\096\096\096\096\096\096\096\096\096\096\000\096\096\000\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\000\000\000\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\096\
++\\096"
++),
++ (97, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\098\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (100, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\101\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++(0, "")]
++fun f x = x 
++val s = List.map f (List.rev (tl (List.rev s))) 
++exception LexHackingError 
++fun look ((j,x)::r, i: int) = if i = j then x else look(r, i) 
++  | look ([], i) = raise LexHackingError
++fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} 
++in Vector.fromList(List.map g 
++[{fin = [], trans = 0},
++{fin = [], trans = 1},
++{fin = [], trans = 1},
++{fin = [], trans = 3},
++{fin = [], trans = 3},
++{fin = [], trans = 5},
++{fin = [], trans = 5},
++{fin = [], trans = 7},
++{fin = [], trans = 7},
++{fin = [], trans = 9},
++{fin = [], trans = 9},
++{fin = [], trans = 11},
++{fin = [], trans = 11},
++{fin = [], trans = 13},
++{fin = [], trans = 13},
++{fin = [(N 11),(N 21)], trans = 15},
++{fin = [(N 11)], trans = 15},
++{fin = [(N 21)], trans = 17},
++{fin = [(N 2)], trans = 0},
++{fin = [(N 21)], trans = 19},
++{fin = [(N 14)], trans = 0},
++{fin = [(N 19),(N 21)], trans = 21},
++{fin = [(N 19)], trans = 0},
++{fin = [(N 100)], trans = 0},
++{fin = [(N 42),(N 100)], trans = 0},
++{fin = [(N 93),(N 100)], trans = 0},
++{fin = [(N 40),(N 100)], trans = 0},
++{fin = [(N 96),(N 100)], trans = 27},
++{fin = [(N 96)], trans = 27},
++{fin = [(N 83)], trans = 0},
++{fin = [(N 96),(N 100)], trans = 30},
++{fin = [(N 34),(N 96)], trans = 27},
++{fin = [(N 96),(N 100)], trans = 32},
++{fin = [(N 96)], trans = 33},
++{fin = [(N 38),(N 96)], trans = 27},
++{fin = [(N 91),(N 100)], trans = 0},
++{fin = [(N 86),(N 100)], trans = 36},
++{fin = [(N 86)], trans = 36},
++{fin = [(N 100)], trans = 38},
++{fin = [(N 49)], trans = 0},
++{fin = [(N 44),(N 100)], trans = 0},
++{fin = [(N 46),(N 100)], trans = 0},
++{fin = [(N 98),(N 100)], trans = 42},
++{fin = [(N 5)], trans = 0},
++{fin = [(N 79),(N 100)], trans = 44},
++{fin = [(N 79)], trans = 44},
++{fin = [(N 100)], trans = 46},
++{fin = [(N 76)], trans = 47},
++{fin = [(N 76)], trans = 48},
++{fin = [(N 76)], trans = 49},
++{fin = [(N 76)], trans = 50},
++{fin = [(N 76)], trans = 51},
++{fin = [(N 62),(N 76)], trans = 47},
++{fin = [(N 76)], trans = 53},
++{fin = [(N 76)], trans = 54},
++{fin = [(N 76)], trans = 55},
++{fin = [(N 76)], trans = 56},
++{fin = [(N 76)], trans = 57},
++{fin = [(N 76)], trans = 58},
++{fin = [(N 76)], trans = 59},
++{fin = [(N 72),(N 76)], trans = 47},
++{fin = [(N 76)], trans = 61},
++{fin = [(N 76)], trans = 62},
++{fin = [(N 76)], trans = 63},
++{fin = [(N 55),(N 76)], trans = 47},
++{fin = [(N 89)], trans = 0},
++{fin = [(N 31),(N 100)], trans = 66},
++{fin = [(N 31)], trans = 66},
++{fin = [(N 26),(N 100)], trans = 68},
++{fin = [(N 26)], trans = 0},
++{fin = [(N 109)], trans = 70},
++{fin = [(N 104)], trans = 0},
++{fin = [(N 102)], trans = 72},
++{fin = [(N 8)], trans = 0},
++{fin = [(N 106)], trans = 0},
++{fin = [(N 19)], trans = 21},
++{fin = [(N 162)], trans = 0},
++{fin = [(N 160),(N 162)], trans = 0},
++{fin = [(N 158),(N 162)], trans = 78},
++{fin = [(N 158)], trans = 78},
++{fin = [(N 19),(N 162)], trans = 21},
++{fin = [(N 120)], trans = 81},
++{fin = [(N 111)], trans = 82},
++{fin = [(N 114)], trans = 0},
++{fin = [(N 111)], trans = 0},
++{fin = [(N 111)], trans = 85},
++{fin = [(N 117)], trans = 0},
++{fin = [(N 143)], trans = 87},
++{fin = [(N 135)], trans = 88},
++{fin = [(N 146)], trans = 0},
++{fin = [(N 155)], trans = 0},
++{fin = [(N 152)], trans = 91},
++{fin = [(N 152)], trans = 0},
++{fin = [(N 133)], trans = 0},
++{fin = [(N 140)], trans = 94},
++{fin = [(N 140)], trans = 0},
++{fin = [(N 131)], trans = 96},
++{fin = [(N 122)], trans = 97},
++{fin = [(N 125)], trans = 0},
++{fin = [(N 122)], trans = 0},
++{fin = [(N 122)], trans = 100},
++{fin = [(N 128)], trans = 0}])
++end
++structure StartStates =
++	struct
++	datatype yystartstate = STARTSTATE of int
++
++(* start state definitions *)
++
++val A = STARTSTATE 3;
++val CODE = STARTSTATE 5;
++val COMMENT = STARTSTATE 9;
++val EMPTYCOMMENT = STARTSTATE 13;
++val F = STARTSTATE 7;
++val INITIAL = STARTSTATE 1;
++val STRING = STARTSTATE 11;
++
++end
++type result = UserDeclarations.lexresult
++	exception LexerError (* raised if illegal leaf action tried *)
++end
++
++structure YYPosInt : INTEGER = Int
++fun makeLexer yyinput =
++let	val yygone0= YYPosInt.fromInt ~1
++	val yyb = ref "\n" 		(* buffer *)
++	val yybl = ref 1		(*buffer length *)
++	val yybufpos = ref 1		(* location of next character to use *)
++	val yygone = ref yygone0	(* position in file of beginning of buffer *)
++	val yydone = ref false		(* eof found yet? *)
++	val yybegin = ref 1		(*Current 'start state' for lexer *)
++
++	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
++		 yybegin := x
++
++fun lex (yyarg as ((*#line 68.7 "yacc.lex"*)inputSource(*#line 786.1 "yacc.lex.sml"*)
++)) =
++let fun continue() : Internal.result = 
++  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
++	let fun action (i,nil) = raise LexError
++	| action (i,nil::l) = action (i-1,l)
++	| action (i,(node::acts)::l) =
++		case node of
++		    Internal.N yyk => 
++			(let fun yymktext() = String.substring(!yyb,i0,i-i0)
++			     val yypos = YYPosInt.+(YYPosInt.fromInt i0, !yygone)
++			open UserDeclarations Internal.StartStates
++ in (yybufpos := i; case yyk of 
++
++			(* Application actions *)
++
++  100 => let val yytext=yymktext() in (*#line 109.21 "yacc.lex"*)UNKNOWN(yytext,pos yypos,pos yypos)(*#line 802.1 "yacc.lex.sml"*)
++ end
++| 102 => let val yytext=yymktext() in (*#line 110.21 "yacc.lex"*)inc pcount; Add yytext; continue()(*#line 804.1 "yacc.lex.sml"*)
++ end
++| 104 => let val yytext=yymktext() in (*#line 111.21 "yacc.lex"*)dec pcount;
++                    if !pcount = 0 then
++                         PROG (concat (rev (!text)),!actionstart,pos yypos)
++                    else (Add yytext; continue())(*#line 809.1 "yacc.lex.sml"*)
++ end
++| 106 => let val yytext=yymktext() in (*#line 115.21 "yacc.lex"*)Add yytext; YYBEGIN STRING; continue()(*#line 811.1 "yacc.lex.sml"*)
++ end
++| 109 => let val yytext=yymktext() in (*#line 116.25 "yacc.lex"*)Add yytext; continue()(*#line 813.1 "yacc.lex.sml"*)
++ end
++| 11 => let val yytext=yymktext() in (*#line 82.27 "yacc.lex"*)Add yytext; continue()(*#line 815.1 "yacc.lex.sml"*)
++ end
++| 111 => let val yytext=yymktext() in (*#line 118.21 "yacc.lex"*)Add yytext; continue()(*#line 817.1 "yacc.lex.sml"*)
++ end
++| 114 => let val yytext=yymktext() in (*#line 119.21 "yacc.lex"*)Add yytext; dec commentLevel;
++                    if !commentLevel=0
++                         then BOGUS_VALUE(pos yypos,pos yypos)
++                         else continue()
++                   (*#line 823.1 "yacc.lex.sml"*)
++ end
++| 117 => let val yytext=yymktext() in (*#line 124.21 "yacc.lex"*)Add yytext; inc commentLevel; continue()(*#line 825.1 "yacc.lex.sml"*)
++ end
++| 120 => let val yytext=yymktext() in (*#line 125.28 "yacc.lex"*)Add yytext; continue()(*#line 827.1 "yacc.lex.sml"*)
++ end
++| 122 => ((*#line 127.26 "yacc.lex"*)continue()(*#line 829.1 "yacc.lex.sml"*)
++)
++| 125 => ((*#line 128.26 "yacc.lex"*)dec commentLevel;
++                          if !commentLevel=0 then YYBEGIN A else ();
++                          continue ()(*#line 833.1 "yacc.lex.sml"*)
++)
++| 128 => ((*#line 131.26 "yacc.lex"*)inc commentLevel; continue()(*#line 835.1 "yacc.lex.sml"*)
++)
++| 131 => ((*#line 132.33 "yacc.lex"*)continue()(*#line 837.1 "yacc.lex.sml"*)
++)
++| 133 => let val yytext=yymktext() in (*#line 134.21 "yacc.lex"*)Add yytext; YYBEGIN CODE; continue()(*#line 839.1 "yacc.lex.sml"*)
++ end
++| 135 => let val yytext=yymktext() in (*#line 135.21 "yacc.lex"*)Add yytext; continue()(*#line 841.1 "yacc.lex.sml"*)
++ end
++| 14 => ((*#line 83.22 "yacc.lex"*)YYBEGIN A; HEADER (concat (rev (!text)),pos yypos,pos yypos)(*#line 843.1 "yacc.lex.sml"*)
++)
++| 140 => let val yytext=yymktext() in (*#line 136.21 "yacc.lex"*)Add yytext; error inputSource (pos yypos) "unclosed string";
++                    incLineNum yypos; YYBEGIN CODE; continue()(*#line 846.1 "yacc.lex.sml"*)
++ end
++| 143 => let val yytext=yymktext() in (*#line 138.27 "yacc.lex"*)Add yytext; continue()(*#line 848.1 "yacc.lex.sml"*)
++ end
++| 146 => let val yytext=yymktext() in (*#line 139.21 "yacc.lex"*)Add yytext; continue()(*#line 850.1 "yacc.lex.sml"*)
++ end
++| 152 => let val yytext=yymktext() in (*#line 140.21 "yacc.lex"*)Add yytext; incLineNum yypos; YYBEGIN F; continue()(*#line 852.1 "yacc.lex.sml"*)
++ end
++| 155 => let val yytext=yymktext() in (*#line 141.22 "yacc.lex"*)Add yytext; YYBEGIN F; continue()(*#line 854.1 "yacc.lex.sml"*)
++ end
++| 158 => let val yytext=yymktext() in (*#line 143.21 "yacc.lex"*)Add yytext; continue()(*#line 856.1 "yacc.lex.sml"*)
++ end
++| 160 => let val yytext=yymktext() in (*#line 144.21 "yacc.lex"*)Add yytext; YYBEGIN STRING; continue()(*#line 858.1 "yacc.lex.sml"*)
++ end
++| 162 => let val yytext=yymktext() in (*#line 145.21 "yacc.lex"*)Add yytext; error inputSource (pos yypos) "unclosed string";
++                    YYBEGIN CODE; continue()(*#line 861.1 "yacc.lex.sml"*)
++ end
++| 19 => let val yytext=yymktext() in (*#line 84.49 "yacc.lex"*)Add yytext; incLineNum yypos; continue()(*#line 863.1 "yacc.lex.sml"*)
++ end
++| 2 => let val yytext=yymktext() in (*#line 77.21 "yacc.lex"*)Add yytext; YYBEGIN COMMENT; commentLevel := 1;
++                    continue(); YYBEGIN INITIAL; continue()(*#line 866.1 "yacc.lex.sml"*)
++ end
++| 21 => let val yytext=yymktext() in (*#line 85.22 "yacc.lex"*)Add yytext; continue()(*#line 868.1 "yacc.lex.sml"*)
++ end
++| 26 => ((*#line 87.21 "yacc.lex"*)incLineNum yypos; continue ()(*#line 870.1 "yacc.lex.sml"*)
++)
++| 31 => ((*#line 88.21 "yacc.lex"*)continue()(*#line 872.1 "yacc.lex.sml"*)
++)
++| 34 => ((*#line 89.21 "yacc.lex"*)OF(pos yypos,pos yypos)(*#line 874.1 "yacc.lex.sml"*)
++)
++| 38 => ((*#line 90.21 "yacc.lex"*)FOR(pos yypos,pos yypos)(*#line 876.1 "yacc.lex.sml"*)
++)
++| 40 => ((*#line 91.21 "yacc.lex"*)LBRACE(pos yypos,pos yypos)(*#line 878.1 "yacc.lex.sml"*)
++)
++| 42 => ((*#line 92.21 "yacc.lex"*)RBRACE(pos yypos,pos yypos)(*#line 880.1 "yacc.lex.sml"*)
++)
++| 44 => ((*#line 93.21 "yacc.lex"*)COMMA(pos yypos,pos yypos)(*#line 882.1 "yacc.lex.sml"*)
++)
++| 46 => ((*#line 94.21 "yacc.lex"*)ASTERISK(pos yypos,pos yypos)(*#line 884.1 "yacc.lex.sml"*)
++)
++| 49 => ((*#line 95.21 "yacc.lex"*)ARROW(pos yypos,pos yypos)(*#line 886.1 "yacc.lex.sml"*)
++)
++| 5 => ((*#line 79.21 "yacc.lex"*)YYBEGIN EMPTYCOMMENT; commentLevel := 1; continue()(*#line 888.1 "yacc.lex.sml"*)
++)
++| 55 => ((*#line 96.21 "yacc.lex"*)PREC(Hdr.LEFT,pos yypos,pos yypos)(*#line 890.1 "yacc.lex.sml"*)
++)
++| 62 => ((*#line 97.21 "yacc.lex"*)PREC(Hdr.RIGHT,pos yypos,pos yypos)(*#line 892.1 "yacc.lex.sml"*)
++)
++| 72 => ((*#line 98.21 "yacc.lex"*)PREC(Hdr.NONASSOC,pos yypos,pos yypos)(*#line 894.1 "yacc.lex.sml"*)
++)
++| 76 => let val yytext=yymktext() in (*#line 99.21 "yacc.lex"*)lookup(yytext,pos yypos,pos yypos)(*#line 896.1 "yacc.lex.sml"*)
++ end
++| 79 => let val yytext=yymktext() in (*#line 100.21 "yacc.lex"*)TYVAR(yytext,pos yypos,pos yypos)(*#line 898.1 "yacc.lex.sml"*)
++ end
++| 8 => let val yytext=yymktext() in (*#line 80.21 "yacc.lex"*)Add yytext; YYBEGIN COMMENT; commentLevel := 1;
++                    continue(); YYBEGIN CODE; continue()(*#line 901.1 "yacc.lex.sml"*)
++ end
++| 83 => let val yytext=yymktext() in (*#line 101.21 "yacc.lex"*)IDDOT(yytext,pos yypos,pos yypos)(*#line 903.1 "yacc.lex.sml"*)
++ end
++| 86 => let val yytext=yymktext() in (*#line 102.21 "yacc.lex"*)INT (yytext,pos yypos,pos yypos)(*#line 905.1 "yacc.lex.sml"*)
++ end
++| 89 => ((*#line 103.21 "yacc.lex"*)DELIMITER(pos yypos,pos yypos)(*#line 907.1 "yacc.lex.sml"*)
++)
++| 91 => ((*#line 104.21 "yacc.lex"*)COLON(pos yypos,pos yypos)(*#line 909.1 "yacc.lex.sml"*)
++)
++| 93 => ((*#line 105.21 "yacc.lex"*)BAR(pos yypos,pos yypos)(*#line 911.1 "yacc.lex.sml"*)
++)
++| 96 => let val yytext=yymktext() in (*#line 106.21 "yacc.lex"*)ID ((yytext,pos yypos),pos yypos,pos yypos)(*#line 913.1 "yacc.lex.sml"*)
++ end
++| 98 => ((*#line 107.21 "yacc.lex"*)pcount := 1; actionstart := pos yypos;
++                    text := nil; YYBEGIN CODE; continue() before YYBEGIN A(*#line 916.1 "yacc.lex.sml"*)
++)
++| _ => raise Internal.LexerError
++
++		) end )
++
++	val {fin,trans} = Vector.sub(Internal.tab, s)
++	val NewAcceptingLeaves = fin::AcceptingLeaves
++	in if l = !yybl then
++	     if trans = #trans(Vector.sub(Internal.tab,0))
++	       then action(l,NewAcceptingLeaves
++) else	    let val newchars= if !yydone then "" else yyinput 1024
++	    in if (String.size newchars)=0
++		  then (yydone := true;
++		        if (l=i0) then UserDeclarations.eof yyarg
++		                  else action(l,NewAcceptingLeaves))
++		  else (if i0=l then yyb := newchars
++		     else yyb := String.substring(!yyb,i0,l-i0)^newchars;
++		     yygone := YYPosInt.+(!yygone, YYPosInt.fromInt i0);
++		     yybl := String.size (!yyb);
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
++	  else let val NewChar = Char.ord(CharVector.sub(!yyb,l))
++		val NewChar = if NewChar<128 then NewChar else 128
++		val NewState = Char.ord(CharVector.sub(trans,NewChar))
++		in if NewState=0 then action(l,NewAcceptingLeaves)
++		else scan(NewState,NewAcceptingLeaves,l+1,i0)
++	end
++	end
++(*
++	val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
++then !yybegin+1 else !yybegin
++*)
++	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++end
diff --git a/srcpkgs/mlton/patches/20-polyml.patch b/srcpkgs/mlton/patches/20-polyml.patch
new file mode 100644
index 0000000000000..62ad34c342875
--- /dev/null
+++ b/srcpkgs/mlton/patches/20-polyml.patch
@@ -0,0 +1,48 @@
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -187,31 +208,31 @@ smlnj-mlton: mlton-smlnj.cm control/version.sml $(FRONT_END_SOURCES)
+ # MLton.
+ #
+ POLYML := poly
++CAT := cat
+ 
+ .PHONY: polyml-mlton
+-polyml-mlton: mlton-polyml.use $(shell [ -e mlton-polyml.use ] && cat mlton-polyml.use | $(SED) 's/use "\(.*\)";/\1/') control/version.sml $(FRONT_END_SOURCES)
+-	(									\
+-		echo 'use "mlton-polyml.use";';					\
+-		echo 'PolyML.export("$(MLTON_OUTPUT)-polyml", Main.mainWrapped);'; \
+-	) | "$(POLYML)"
+-	$(CC) -o $(MLTON_OUTPUT)-polyml $(MLTON_OUTPUT)-polyml.o -lpolymain -lpolyml
+-	$(RM) $(MLTON_OUTPUT)-polyml.o
++polyml-mlton: $(MLTON_OUTPUT)-polyml
++
++$(MLTON_OUTPUT)-polyml: mlton-polyml.sml $(shell [ -e mlton-polyml.sml ] && $(CAT) mlton-polyml.sml | $(GREP) 'use ".*";' | $(SED) 's/use "\(.*\)";/\1/') control/version.sml $(FRONT_END_SOURCES)
++	polyc -o $@ mlton-polyml.sml
+ 
+-mlton-polyml.use: ../lib/stubs/basis-stubs-for-polyml/sources.use ../lib/stubs/mlton-stubs-for-polyml/sources.use $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
++mlton-polyml.sml: ../lib/stubs/basis-stubs-for-polyml/sources.use ../lib/stubs/mlton-stubs-for-polyml/sources.use $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
++	chmod +x $(SRC)/bin/mlbdeps
+ 	(									\
+-		cat ../lib/stubs/basis-stubs-for-polyml/sources.use |		\
++		$(CAT) ../lib/stubs/basis-stubs-for-polyml/sources.use |		\
+ 			$(SED) 's|use "\(.*\)";|../lib/stubs/basis-stubs-for-polyml/\1|'; \
+-		"$(RUN_MLTON)" -stop f mlton.mlb | $(GREP) -v 'mlb$$' | $(GREP) 'mlyacc'; \
+-		cat ../lib/stubs/mlton-stubs-for-polyml/sources.use |		\
++		$(SRC)/bin/mlbdeps mlton.mlb | $(GREP) -v 'mlb$$' | $(GREP) 'mlyacc'; \
++		$(CAT) ../lib/stubs/mlton-stubs-for-polyml/sources.use |		\
+ 			$(SED) 's|use "\(.*\)";|../lib/stubs/mlton-stubs-for-polyml/\1|'; \
+-		"$(RUN_MLTON)" -stop f ../lib/stubs/mlton-stubs/sources.mlb |	\
++		$(SRC)/bin/mlbdeps ../lib/stubs/mlton-stubs/sources.mlb |	\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlton-stubs';					\
+-		"$(RUN_MLTON)" -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |				\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) -v 'sml/basis' |				\
+ 			$(GREP) -v 'targets' |					\
+ 			$(GREP) -v 'mlton-stubs' |				\
+ 			$(GREP) -v 'mlyacc' |					\
+ 			$(GREP) -v 'call-main.sml';				\
+-	) | $(SED) 's|\(.*\)|use "\1";|' > mlton-polyml.use
++	) | $(SED) 's|\(.*\)|use "\1";|' > $@
++	echo "val main = Main.mainWrapped;" >> $@
diff --git a/srcpkgs/mlton/patches/30-mlbdeps.patch b/srcpkgs/mlton/patches/30-mlbdeps.patch
new file mode 100644
index 0000000000000..03a6ad7188d30
--- /dev/null
+++ b/srcpkgs/mlton/patches/30-mlbdeps.patch
@@ -0,0 +1,60 @@
+--- /dev/null
++++ b/bin/mlbdeps
+@@ -0,0 +1,57 @@
++#!/usr/bin/env bash
++
++set -e
++
++SED=${SED:-sed}
++
++name=$(basename "$0")
++
++function normalize_path () {
++    local path="$1"
++    local opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;^\./;;')"
++    done
++    local opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;/\./;/;')"
++    done
++    opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;[^/][^/]*/\.\./;;')"
++    done
++    path="$(echo "$path" | ${SED} -e 's;^\./;;')"
++    echo "$path"
++}
++
++declare -a seen
++
++function doit() {
++    local mlb="$1"
++    for s in "${seen[@]}"; do
++        if [ "$mlb" == "$s" ]; then
++            return 0
++        fi
++    done
++    seen+=("$mlb");
++    echo "$mlb"
++    if [ -e "$mlb" ]; then
++        local dir="$(dirname $mlb)"
++        for f in $(cat "$mlb" | ${SED} -n -e 's/^[ ]*\([^ ]*\.\(sml\|sig\|fun\|mlb\)\).*/\1/p'); do
++            case "$f" in
++                /*) ;;
++                \$\(*\)*) ;;
++                *) f="$(normalize_path "$dir"/"$f")" ;;
++            esac
++            case "$f" in
++                *.mlb) doit "$f";;
++                *) echo "$f";;
++            esac
++        done
++    fi
++}
++
++doit "$(normalize_path "$1")"
diff --git a/srcpkgs/mlton/patches/40-mlton.patch b/srcpkgs/mlton/patches/40-mlton.patch
new file mode 100644
index 0000000000000..0056419b29359
--- /dev/null
+++ b/srcpkgs/mlton/patches/40-mlton.patch
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -308,7 +308,7 @@ smlnj-mlton-x16:
+ bootstrap-polyml:
+ 	$(MAKE) polyml-mlton
+ 	$(RM) "$(BIN)/$(MLTON)"
+-	$(MAKE) BOOTSTRAP_MLTON=$(MLTON).polyml all
++	$(MAKE) OLD_MLTON="$(BIN)/$(MLTON).polyml" all
+ 	$(RM) "$(LIB)/$(MLTON)-polyml$(EXE)"
+ 	$(RM) "$(BIN)/$(MLTON).polyml"
+ 
+@@ -317,7 +317,7 @@ polyml-mlton:
+ 	$(MAKE) dirs
+ 	$(MAKE) runtime
+ 	$(MAKE) -C "$(SRC)/mlton" polyml-mlton
+-	$(CP) "$(SRC)/mlton/mlton-polyml$(EXE)" "$(LIB)/"
++	$(CP) "$(SRC)/mlton/$(MLTON_OUTPUT)-polyml$(EXE)" "$(LIB)/"
+ 	$(MAKE) script
+ 	$(MAKE) basis-no-check
+ 	$(MAKE) libraries-no-check
diff --git a/srcpkgs/mlton/patches/50-mlton-stubs.patch b/srcpkgs/mlton/patches/50-mlton-stubs.patch
new file mode 100644
index 0000000000000..2100195398282
--- /dev/null
+++ b/srcpkgs/mlton/patches/50-mlton-stubs.patch
@@ -0,0 +1,19 @@
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -136,13 +136,13 @@ mlton-stubs.mlb: $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/so
+ 		echo '$$(SML_LIB)/basis/sml-nj.mlb';				\
+ 		echo '$$(SML_LIB)/basis/mlton.mlb';				\
+ 		echo '$$(SML_LIB)/basis/basis.mlb';				\
+-		$(RUN_MLTON) -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |					\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlyacc';					\
+-		$(RUN_MLTON) -stop f ../lib/stubs/mlton-stubs/sources.mlb |	\
++		$(SRC)/bin/mlbdeps ../lib/stubs/mlton-stubs/sources.mlb |	\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlton-stubs';					\
+-		$(RUN_MLTON) -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |					\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) -v 'sml/basis' |				\
+ 			$(GREP) -v 'targets' |					\
diff --git a/srcpkgs/mlton/patches/60-clean-polyml.patch b/srcpkgs/mlton/patches/60-clean-polyml.patch
new file mode 100644
index 0000000000000..8cd33967efa31
--- /dev/null
+++ b/srcpkgs/mlton/patches/60-clean-polyml.patch
@@ -0,0 +1,10 @@
+--- a/Makefile
++++ b/Makefile
+@@ -310,6 +310,7 @@ bootstrap-polyml:
+ 	$(RM) "$(BIN)/$(MLTON)"
+ 	$(MAKE) OLD_MLTON="$(BIN)/$(MLTON).polyml" all
+ 	$(RM) "$(LIB)/$(MLTON)-polyml$(EXE)"
++	$(RM) "$(LIB)/$(MLTON_OUTPUT)-polyml$(EXE)"
+ 	$(RM) "$(BIN)/$(MLTON).polyml"
+ 
+ .PHONY: polyml-mlton
diff --git a/srcpkgs/mlton/template b/srcpkgs/mlton/template
new file mode 100644
index 0000000000000..73f03a451749c
--- /dev/null
+++ b/srcpkgs/mlton/template
@@ -0,0 +1,20 @@
+# Template file for 'mlton'
+pkgname=mlton
+version=20210117
+revision=1
+build_style=gnu-makefile
+make_build_target=bootstrap-polyml
+hostmakedepends="polyml tar"
+makedepends="gmp-devel"
+depends="bash gcc gmp-devel"
+short_desc="MLton Standard ML (SML) compiler"
+maintainer="ii8 <murray.calavera@protonmail.com>"
+license="HPND"
+homepage="http://mlton.org/"
+distfiles="https://github.com/MLton/mlton/releases/download/on-${version}-release/mlton-${version}.src.tgz"
+checksum=ec7a5a54deb39c7c0fa746d17767752154e9cb94dbcf3d15b795083b3f0f154b
+nocross=yes
+
+case "$XBPS_TARGET_MACHINE" in
+	i686*) broken="The 2nd bootstrap mlton(built by the polyml-mlton) segfaults in parseAndElaborate" ;;
+esac

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
  2023-10-28 20:36 ` [PR PATCH] [Updated] " ii8
@ 2023-10-29  8:04 ` Bnyro
  2023-11-07 16:40 ` leahneukirchen
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Bnyro @ 2023-10-29  8:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 150 bytes --]

New comment by Bnyro on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1784028275

Comment:
Ref #44416

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
  2023-10-28 20:36 ` [PR PATCH] [Updated] " ii8
  2023-10-29  8:04 ` Bnyro
@ 2023-11-07 16:40 ` leahneukirchen
  2023-11-07 17:14 ` ii8
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-11-07 16:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 250 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1799149214

Comment:
Good to see bootstrap via PolyML is possible; do you know if on non-x86 the C code generator is used/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (2 preceding siblings ...)
  2023-11-07 16:40 ` leahneukirchen
@ 2023-11-07 17:14 ` ii8
  2023-11-07 17:17 ` leahneukirchen
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-11-07 17:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 432 bytes --]

New comment by ii8 on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1799269453

Comment:
Yes mlton selects C codegen for non x86(_64) targets.

I'm creating cross builds of mlton: https://github.com/ii8/mlton-builds/actions/runs/6785420672
If you were ok with using those to bootstrap, when they all work, then polyml isn't needed which means the 21kloc patch isn't needed either.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (3 preceding siblings ...)
  2023-11-07 17:14 ` ii8
@ 2023-11-07 17:17 ` leahneukirchen
  2023-11-07 17:17 ` leahneukirchen
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-11-07 17:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 219 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1799273473

Comment:
From a distro maintainer standpoint, I prefer bootstrapability from C.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (4 preceding siblings ...)
  2023-11-07 17:17 ` leahneukirchen
@ 2023-11-07 17:17 ` leahneukirchen
  2023-11-07 17:28 ` ii8
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-11-07 17:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 209 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1799274498

Comment:
But the 20k C file probably should be hosted somewhere else.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (5 preceding siblings ...)
  2023-11-07 17:17 ` leahneukirchen
@ 2023-11-07 17:28 ` ii8
  2023-11-07 17:35 ` ii8
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-11-07 17:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 399 bytes --]

New comment by ii8 on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1799293094

Comment:
I don't mind either way, just mentioning the options. But I should mention that bootstrapping mlton with itself is recommended by the author and polyml fails for x86.
Where should it be hosted? Though it's several files of generated sml, just all in one patch.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (6 preceding siblings ...)
  2023-11-07 17:28 ` ii8
@ 2023-11-07 17:35 ` ii8
  2023-11-07 17:40 ` leahneukirchen
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-11-07 17:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 465 bytes --]

New comment by ii8 on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1799293094

Comment:
I don't mind either way, just mentioning the options. But I should mention that bootstrapping mlton with itself is recommended by the author and polyml fails for x86.
Where should it be hosted? Though it's several files of generated sml, just all in one patch.
The patch can be cherry picked from upstream, that's one option.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (7 preceding siblings ...)
  2023-11-07 17:35 ` ii8
@ 2023-11-07 17:40 ` leahneukirchen
  2023-11-07 23:40 ` [PR PATCH] [Updated] " ii8
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-11-07 17:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 251 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1799311735

Comment:
You can hotlink `https://github.com/MLton/mlton/commit/f074a9a41b5338303271cd50f17078595fef35ff.patch`

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (8 preceding siblings ...)
  2023-11-07 17:40 ` leahneukirchen
@ 2023-11-07 23:40 ` ii8
  2023-11-08  0:33 ` ii8
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-11-07 23:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 630 bytes --]

There is an updated pull request by ii8 against master on the void-packages repository

https://github.com/ii8/void-packages mlton
https://github.com/void-linux/void-packages/pull/46951

New package: mlton-20210117

- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-musl


A patch file from https://github.com/void-linux/void-packages/pull/46951.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mlton-46951.patch --]
[-- Type: text/x-diff, Size: 9298 bytes --]

From df8dea0e90123bdc2c2dc8b7e7956b57fbf55bb6 Mon Sep 17 00:00:00 2001
From: murray <murray.calavera@protonmail.com>
Date: Sat, 28 Oct 2023 19:27:11 +0100
Subject: [PATCH] New package: mlton-20210117

---
 srcpkgs/mlton/patches/20-polyml.patch       | 48 +++++++++++++++++
 srcpkgs/mlton/patches/30-mlbdeps.patch      | 60 +++++++++++++++++++++
 srcpkgs/mlton/patches/40-mlton.patch        | 20 +++++++
 srcpkgs/mlton/patches/50-mlton-stubs.patch  | 19 +++++++
 srcpkgs/mlton/patches/60-clean-polyml.patch | 10 ++++
 srcpkgs/mlton/template                      | 33 ++++++++++++
 6 files changed, 190 insertions(+)
 create mode 100644 srcpkgs/mlton/patches/20-polyml.patch
 create mode 100644 srcpkgs/mlton/patches/30-mlbdeps.patch
 create mode 100644 srcpkgs/mlton/patches/40-mlton.patch
 create mode 100644 srcpkgs/mlton/patches/50-mlton-stubs.patch
 create mode 100644 srcpkgs/mlton/patches/60-clean-polyml.patch
 create mode 100644 srcpkgs/mlton/template

diff --git a/srcpkgs/mlton/patches/20-polyml.patch b/srcpkgs/mlton/patches/20-polyml.patch
new file mode 100644
index 0000000000000..62ad34c342875
--- /dev/null
+++ b/srcpkgs/mlton/patches/20-polyml.patch
@@ -0,0 +1,48 @@
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -187,31 +208,31 @@ smlnj-mlton: mlton-smlnj.cm control/version.sml $(FRONT_END_SOURCES)
+ # MLton.
+ #
+ POLYML := poly
++CAT := cat
+ 
+ .PHONY: polyml-mlton
+-polyml-mlton: mlton-polyml.use $(shell [ -e mlton-polyml.use ] && cat mlton-polyml.use | $(SED) 's/use "\(.*\)";/\1/') control/version.sml $(FRONT_END_SOURCES)
+-	(									\
+-		echo 'use "mlton-polyml.use";';					\
+-		echo 'PolyML.export("$(MLTON_OUTPUT)-polyml", Main.mainWrapped);'; \
+-	) | "$(POLYML)"
+-	$(CC) -o $(MLTON_OUTPUT)-polyml $(MLTON_OUTPUT)-polyml.o -lpolymain -lpolyml
+-	$(RM) $(MLTON_OUTPUT)-polyml.o
++polyml-mlton: $(MLTON_OUTPUT)-polyml
++
++$(MLTON_OUTPUT)-polyml: mlton-polyml.sml $(shell [ -e mlton-polyml.sml ] && $(CAT) mlton-polyml.sml | $(GREP) 'use ".*";' | $(SED) 's/use "\(.*\)";/\1/') control/version.sml $(FRONT_END_SOURCES)
++	polyc -o $@ mlton-polyml.sml
+ 
+-mlton-polyml.use: ../lib/stubs/basis-stubs-for-polyml/sources.use ../lib/stubs/mlton-stubs-for-polyml/sources.use $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
++mlton-polyml.sml: ../lib/stubs/basis-stubs-for-polyml/sources.use ../lib/stubs/mlton-stubs-for-polyml/sources.use $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
++	chmod +x $(SRC)/bin/mlbdeps
+ 	(									\
+-		cat ../lib/stubs/basis-stubs-for-polyml/sources.use |		\
++		$(CAT) ../lib/stubs/basis-stubs-for-polyml/sources.use |		\
+ 			$(SED) 's|use "\(.*\)";|../lib/stubs/basis-stubs-for-polyml/\1|'; \
+-		"$(RUN_MLTON)" -stop f mlton.mlb | $(GREP) -v 'mlb$$' | $(GREP) 'mlyacc'; \
+-		cat ../lib/stubs/mlton-stubs-for-polyml/sources.use |		\
++		$(SRC)/bin/mlbdeps mlton.mlb | $(GREP) -v 'mlb$$' | $(GREP) 'mlyacc'; \
++		$(CAT) ../lib/stubs/mlton-stubs-for-polyml/sources.use |		\
+ 			$(SED) 's|use "\(.*\)";|../lib/stubs/mlton-stubs-for-polyml/\1|'; \
+-		"$(RUN_MLTON)" -stop f ../lib/stubs/mlton-stubs/sources.mlb |	\
++		$(SRC)/bin/mlbdeps ../lib/stubs/mlton-stubs/sources.mlb |	\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlton-stubs';					\
+-		"$(RUN_MLTON)" -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |				\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) -v 'sml/basis' |				\
+ 			$(GREP) -v 'targets' |					\
+ 			$(GREP) -v 'mlton-stubs' |				\
+ 			$(GREP) -v 'mlyacc' |					\
+ 			$(GREP) -v 'call-main.sml';				\
+-	) | $(SED) 's|\(.*\)|use "\1";|' > mlton-polyml.use
++	) | $(SED) 's|\(.*\)|use "\1";|' > $@
++	echo "val main = Main.mainWrapped;" >> $@
diff --git a/srcpkgs/mlton/patches/30-mlbdeps.patch b/srcpkgs/mlton/patches/30-mlbdeps.patch
new file mode 100644
index 0000000000000..03a6ad7188d30
--- /dev/null
+++ b/srcpkgs/mlton/patches/30-mlbdeps.patch
@@ -0,0 +1,60 @@
+--- /dev/null
++++ b/bin/mlbdeps
+@@ -0,0 +1,57 @@
++#!/usr/bin/env bash
++
++set -e
++
++SED=${SED:-sed}
++
++name=$(basename "$0")
++
++function normalize_path () {
++    local path="$1"
++    local opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;^\./;;')"
++    done
++    local opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;/\./;/;')"
++    done
++    opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;[^/][^/]*/\.\./;;')"
++    done
++    path="$(echo "$path" | ${SED} -e 's;^\./;;')"
++    echo "$path"
++}
++
++declare -a seen
++
++function doit() {
++    local mlb="$1"
++    for s in "${seen[@]}"; do
++        if [ "$mlb" == "$s" ]; then
++            return 0
++        fi
++    done
++    seen+=("$mlb");
++    echo "$mlb"
++    if [ -e "$mlb" ]; then
++        local dir="$(dirname $mlb)"
++        for f in $(cat "$mlb" | ${SED} -n -e 's/^[ ]*\([^ ]*\.\(sml\|sig\|fun\|mlb\)\).*/\1/p'); do
++            case "$f" in
++                /*) ;;
++                \$\(*\)*) ;;
++                *) f="$(normalize_path "$dir"/"$f")" ;;
++            esac
++            case "$f" in
++                *.mlb) doit "$f";;
++                *) echo "$f";;
++            esac
++        done
++    fi
++}
++
++doit "$(normalize_path "$1")"
diff --git a/srcpkgs/mlton/patches/40-mlton.patch b/srcpkgs/mlton/patches/40-mlton.patch
new file mode 100644
index 0000000000000..0056419b29359
--- /dev/null
+++ b/srcpkgs/mlton/patches/40-mlton.patch
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -308,7 +308,7 @@ smlnj-mlton-x16:
+ bootstrap-polyml:
+ 	$(MAKE) polyml-mlton
+ 	$(RM) "$(BIN)/$(MLTON)"
+-	$(MAKE) BOOTSTRAP_MLTON=$(MLTON).polyml all
++	$(MAKE) OLD_MLTON="$(BIN)/$(MLTON).polyml" all
+ 	$(RM) "$(LIB)/$(MLTON)-polyml$(EXE)"
+ 	$(RM) "$(BIN)/$(MLTON).polyml"
+ 
+@@ -317,7 +317,7 @@ polyml-mlton:
+ 	$(MAKE) dirs
+ 	$(MAKE) runtime
+ 	$(MAKE) -C "$(SRC)/mlton" polyml-mlton
+-	$(CP) "$(SRC)/mlton/mlton-polyml$(EXE)" "$(LIB)/"
++	$(CP) "$(SRC)/mlton/$(MLTON_OUTPUT)-polyml$(EXE)" "$(LIB)/"
+ 	$(MAKE) script
+ 	$(MAKE) basis-no-check
+ 	$(MAKE) libraries-no-check
diff --git a/srcpkgs/mlton/patches/50-mlton-stubs.patch b/srcpkgs/mlton/patches/50-mlton-stubs.patch
new file mode 100644
index 0000000000000..2100195398282
--- /dev/null
+++ b/srcpkgs/mlton/patches/50-mlton-stubs.patch
@@ -0,0 +1,19 @@
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -136,13 +136,13 @@ mlton-stubs.mlb: $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/so
+ 		echo '$$(SML_LIB)/basis/sml-nj.mlb';				\
+ 		echo '$$(SML_LIB)/basis/mlton.mlb';				\
+ 		echo '$$(SML_LIB)/basis/basis.mlb';				\
+-		$(RUN_MLTON) -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |					\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlyacc';					\
+-		$(RUN_MLTON) -stop f ../lib/stubs/mlton-stubs/sources.mlb |	\
++		$(SRC)/bin/mlbdeps ../lib/stubs/mlton-stubs/sources.mlb |	\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlton-stubs';					\
+-		$(RUN_MLTON) -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |					\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) -v 'sml/basis' |				\
+ 			$(GREP) -v 'targets' |					\
diff --git a/srcpkgs/mlton/patches/60-clean-polyml.patch b/srcpkgs/mlton/patches/60-clean-polyml.patch
new file mode 100644
index 0000000000000..8cd33967efa31
--- /dev/null
+++ b/srcpkgs/mlton/patches/60-clean-polyml.patch
@@ -0,0 +1,10 @@
+--- a/Makefile
++++ b/Makefile
+@@ -310,6 +310,7 @@ bootstrap-polyml:
+ 	$(RM) "$(BIN)/$(MLTON)"
+ 	$(MAKE) OLD_MLTON="$(BIN)/$(MLTON).polyml" all
+ 	$(RM) "$(LIB)/$(MLTON)-polyml$(EXE)"
++	$(RM) "$(LIB)/$(MLTON_OUTPUT)-polyml$(EXE)"
+ 	$(RM) "$(BIN)/$(MLTON).polyml"
+ 
+ .PHONY: polyml-mlton
diff --git a/srcpkgs/mlton/template b/srcpkgs/mlton/template
new file mode 100644
index 0000000000000..3a1ada259699b
--- /dev/null
+++ b/srcpkgs/mlton/template
@@ -0,0 +1,33 @@
+# Template file for 'mlton'
+pkgname=mlton
+version=20210117
+revision=1
+build_style=gnu-makefile
+make_build_target=bootstrap-polyml
+hostmakedepends="polyml tar"
+makedepends="gmp-devel"
+depends="bash gcc gmp-devel"
+short_desc="MLton Standard ML (SML) compiler"
+maintainer="ii8 <murray.calavera@protonmail.com>"
+license="HPND"
+homepage="http://mlton.org/"
+distfiles="https://github.com/MLton/mlton/releases/download/on-${version}-release/mlton-${version}.src.tgz"
+checksum=ec7a5a54deb39c7c0fa746d17767752154e9cb94dbcf3d15b795083b3f0f154b
+nocross=yes
+
+pre_patch() {
+	local commit chksum filesum
+	commit=f074a9a41b5338303271cd50f17078595fef35ff
+	chksum=da73a393384ac8e1094dc59b1a19cf73f506d0481354ced814cd894a83216272
+	"$XBPS_FETCH_CMD" "https://github.com/MLton/mlton/commit/${commit}.patch"
+	filesum=$("$XBPS_DIGEST_CMD" "${commit}.patch")
+	if [ "$chksum" != "$filesum" ]; then
+		echo
+		msg_error "SHA256 mismatch for '${commit}.patch':\n${filesum}\n"
+	fi
+	patch -Np1 -i "${commit}.patch"
+}
+
+case "$XBPS_TARGET_MACHINE" in
+	i686*) broken="The 2nd bootstrap mlton(built by the polyml-mlton) segfaults in parseAndElaborate" ;;
+esac

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (9 preceding siblings ...)
  2023-11-07 23:40 ` [PR PATCH] [Updated] " ii8
@ 2023-11-08  0:33 ` ii8
  2023-11-08 12:15 ` leahneukirchen
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-11-08  0:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 210 bytes --]

New comment by ii8 on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1800739526

Comment:
The build failure with glibc is because it ran out of memory looks like.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (10 preceding siblings ...)
  2023-11-08  0:33 ` ii8
@ 2023-11-08 12:15 ` leahneukirchen
  2023-11-08 12:16 ` leahneukirchen
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-11-08 12:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 263 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1801773917

Comment:
Sorry, that wasn't super clear.  Add the patch to distfiles= and add it to noextract, then apply it in post_patch.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (11 preceding siblings ...)
  2023-11-08 12:15 ` leahneukirchen
@ 2023-11-08 12:16 ` leahneukirchen
  2023-11-08 12:26 ` ii8
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-11-08 12:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 192 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1801774736

Comment:
Also, how much RAM is needed to compile it?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (12 preceding siblings ...)
  2023-11-08 12:16 ` leahneukirchen
@ 2023-11-08 12:26 ` ii8
  2023-11-08 12:30 ` leahneukirchen
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-11-08 12:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 517 bytes --]

New comment by ii8 on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1801791348

Comment:
> Sorry, that wasn't super clear. Add the patch to distfiles= and add it to noextract, then apply it in post_patch.

This is what I did at first, but I noticed the manual specifically says that distfiles must be in a compressed format. Is that not right?
I'd like to do it in pre_patch if possible so the other patches are unaffected. Is that a problem?

6Gi should be safe.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (13 preceding siblings ...)
  2023-11-08 12:26 ` ii8
@ 2023-11-08 12:30 ` leahneukirchen
  2023-11-08 13:40 ` [PR PATCH] [Updated] " ii8
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-11-08 12:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 319 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1801797394

Comment:
pre_patch is okay too. we use diffs as distfiles in other packages as well (I think you should use the compressed format if one is available, but if there is none, well.)

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (14 preceding siblings ...)
  2023-11-08 12:30 ` leahneukirchen
@ 2023-11-08 13:40 ` ii8
  2023-12-01 13:10 ` [PR PATCH] [Merged]: " leahneukirchen
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-11-08 13:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 630 bytes --]

There is an updated pull request by ii8 against master on the void-packages repository

https://github.com/ii8/void-packages mlton
https://github.com/void-linux/void-packages/pull/46951

New package: mlton-20210117

- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-musl


A patch file from https://github.com/void-linux/void-packages/pull/46951.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mlton-46951.patch --]
[-- Type: text/x-diff, Size: 9175 bytes --]

From 1e2e6dd83da470dd6018af15f92ba868df3e801a Mon Sep 17 00:00:00 2001
From: murray <murray.calavera@protonmail.com>
Date: Sat, 28 Oct 2023 19:27:11 +0100
Subject: [PATCH] New package: mlton-20210117

---
 srcpkgs/mlton/patches/20-polyml.patch       | 48 +++++++++++++++++
 srcpkgs/mlton/patches/30-mlbdeps.patch      | 60 +++++++++++++++++++++
 srcpkgs/mlton/patches/40-mlton.patch        | 20 +++++++
 srcpkgs/mlton/patches/50-mlton-stubs.patch  | 19 +++++++
 srcpkgs/mlton/patches/60-clean-polyml.patch | 10 ++++
 srcpkgs/mlton/template                      | 31 +++++++++++
 6 files changed, 188 insertions(+)
 create mode 100644 srcpkgs/mlton/patches/20-polyml.patch
 create mode 100644 srcpkgs/mlton/patches/30-mlbdeps.patch
 create mode 100644 srcpkgs/mlton/patches/40-mlton.patch
 create mode 100644 srcpkgs/mlton/patches/50-mlton-stubs.patch
 create mode 100644 srcpkgs/mlton/patches/60-clean-polyml.patch
 create mode 100644 srcpkgs/mlton/template

diff --git a/srcpkgs/mlton/patches/20-polyml.patch b/srcpkgs/mlton/patches/20-polyml.patch
new file mode 100644
index 0000000000000..62ad34c342875
--- /dev/null
+++ b/srcpkgs/mlton/patches/20-polyml.patch
@@ -0,0 +1,48 @@
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -187,31 +208,31 @@ smlnj-mlton: mlton-smlnj.cm control/version.sml $(FRONT_END_SOURCES)
+ # MLton.
+ #
+ POLYML := poly
++CAT := cat
+ 
+ .PHONY: polyml-mlton
+-polyml-mlton: mlton-polyml.use $(shell [ -e mlton-polyml.use ] && cat mlton-polyml.use | $(SED) 's/use "\(.*\)";/\1/') control/version.sml $(FRONT_END_SOURCES)
+-	(									\
+-		echo 'use "mlton-polyml.use";';					\
+-		echo 'PolyML.export("$(MLTON_OUTPUT)-polyml", Main.mainWrapped);'; \
+-	) | "$(POLYML)"
+-	$(CC) -o $(MLTON_OUTPUT)-polyml $(MLTON_OUTPUT)-polyml.o -lpolymain -lpolyml
+-	$(RM) $(MLTON_OUTPUT)-polyml.o
++polyml-mlton: $(MLTON_OUTPUT)-polyml
++
++$(MLTON_OUTPUT)-polyml: mlton-polyml.sml $(shell [ -e mlton-polyml.sml ] && $(CAT) mlton-polyml.sml | $(GREP) 'use ".*";' | $(SED) 's/use "\(.*\)";/\1/') control/version.sml $(FRONT_END_SOURCES)
++	polyc -o $@ mlton-polyml.sml
+ 
+-mlton-polyml.use: ../lib/stubs/basis-stubs-for-polyml/sources.use ../lib/stubs/mlton-stubs-for-polyml/sources.use $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
++mlton-polyml.sml: ../lib/stubs/basis-stubs-for-polyml/sources.use ../lib/stubs/mlton-stubs-for-polyml/sources.use $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/sources.mlb | $(GREP) 'mlb$$') $(shell "$(RUN_MLTON_DEPS)" -stop f mlton.mlb | $(GREP) 'mlb$$')
++	chmod +x $(SRC)/bin/mlbdeps
+ 	(									\
+-		cat ../lib/stubs/basis-stubs-for-polyml/sources.use |		\
++		$(CAT) ../lib/stubs/basis-stubs-for-polyml/sources.use |		\
+ 			$(SED) 's|use "\(.*\)";|../lib/stubs/basis-stubs-for-polyml/\1|'; \
+-		"$(RUN_MLTON)" -stop f mlton.mlb | $(GREP) -v 'mlb$$' | $(GREP) 'mlyacc'; \
+-		cat ../lib/stubs/mlton-stubs-for-polyml/sources.use |		\
++		$(SRC)/bin/mlbdeps mlton.mlb | $(GREP) -v 'mlb$$' | $(GREP) 'mlyacc'; \
++		$(CAT) ../lib/stubs/mlton-stubs-for-polyml/sources.use |		\
+ 			$(SED) 's|use "\(.*\)";|../lib/stubs/mlton-stubs-for-polyml/\1|'; \
+-		"$(RUN_MLTON)" -stop f ../lib/stubs/mlton-stubs/sources.mlb |	\
++		$(SRC)/bin/mlbdeps ../lib/stubs/mlton-stubs/sources.mlb |	\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlton-stubs';					\
+-		"$(RUN_MLTON)" -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |				\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) -v 'sml/basis' |				\
+ 			$(GREP) -v 'targets' |					\
+ 			$(GREP) -v 'mlton-stubs' |				\
+ 			$(GREP) -v 'mlyacc' |					\
+ 			$(GREP) -v 'call-main.sml';				\
+-	) | $(SED) 's|\(.*\)|use "\1";|' > mlton-polyml.use
++	) | $(SED) 's|\(.*\)|use "\1";|' > $@
++	echo "val main = Main.mainWrapped;" >> $@
diff --git a/srcpkgs/mlton/patches/30-mlbdeps.patch b/srcpkgs/mlton/patches/30-mlbdeps.patch
new file mode 100644
index 0000000000000..03a6ad7188d30
--- /dev/null
+++ b/srcpkgs/mlton/patches/30-mlbdeps.patch
@@ -0,0 +1,60 @@
+--- /dev/null
++++ b/bin/mlbdeps
+@@ -0,0 +1,57 @@
++#!/usr/bin/env bash
++
++set -e
++
++SED=${SED:-sed}
++
++name=$(basename "$0")
++
++function normalize_path () {
++    local path="$1"
++    local opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;^\./;;')"
++    done
++    local opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;/\./;/;')"
++    done
++    opath=""
++    while [ "$opath" != "$path" ]; do
++        opath="$path"
++        path="$(echo "$path" | ${SED} -e 's;[^/][^/]*/\.\./;;')"
++    done
++    path="$(echo "$path" | ${SED} -e 's;^\./;;')"
++    echo "$path"
++}
++
++declare -a seen
++
++function doit() {
++    local mlb="$1"
++    for s in "${seen[@]}"; do
++        if [ "$mlb" == "$s" ]; then
++            return 0
++        fi
++    done
++    seen+=("$mlb");
++    echo "$mlb"
++    if [ -e "$mlb" ]; then
++        local dir="$(dirname $mlb)"
++        for f in $(cat "$mlb" | ${SED} -n -e 's/^[ ]*\([^ ]*\.\(sml\|sig\|fun\|mlb\)\).*/\1/p'); do
++            case "$f" in
++                /*) ;;
++                \$\(*\)*) ;;
++                *) f="$(normalize_path "$dir"/"$f")" ;;
++            esac
++            case "$f" in
++                *.mlb) doit "$f";;
++                *) echo "$f";;
++            esac
++        done
++    fi
++}
++
++doit "$(normalize_path "$1")"
diff --git a/srcpkgs/mlton/patches/40-mlton.patch b/srcpkgs/mlton/patches/40-mlton.patch
new file mode 100644
index 0000000000000..0056419b29359
--- /dev/null
+++ b/srcpkgs/mlton/patches/40-mlton.patch
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -308,7 +308,7 @@ smlnj-mlton-x16:
+ bootstrap-polyml:
+ 	$(MAKE) polyml-mlton
+ 	$(RM) "$(BIN)/$(MLTON)"
+-	$(MAKE) BOOTSTRAP_MLTON=$(MLTON).polyml all
++	$(MAKE) OLD_MLTON="$(BIN)/$(MLTON).polyml" all
+ 	$(RM) "$(LIB)/$(MLTON)-polyml$(EXE)"
+ 	$(RM) "$(BIN)/$(MLTON).polyml"
+ 
+@@ -317,7 +317,7 @@ polyml-mlton:
+ 	$(MAKE) dirs
+ 	$(MAKE) runtime
+ 	$(MAKE) -C "$(SRC)/mlton" polyml-mlton
+-	$(CP) "$(SRC)/mlton/mlton-polyml$(EXE)" "$(LIB)/"
++	$(CP) "$(SRC)/mlton/$(MLTON_OUTPUT)-polyml$(EXE)" "$(LIB)/"
+ 	$(MAKE) script
+ 	$(MAKE) basis-no-check
+ 	$(MAKE) libraries-no-check
diff --git a/srcpkgs/mlton/patches/50-mlton-stubs.patch b/srcpkgs/mlton/patches/50-mlton-stubs.patch
new file mode 100644
index 0000000000000..2100195398282
--- /dev/null
+++ b/srcpkgs/mlton/patches/50-mlton-stubs.patch
@@ -0,0 +1,19 @@
+--- a/mlton/Makefile
++++ b/mlton/Makefile
+@@ -136,13 +136,13 @@ mlton-stubs.mlb: $(shell "$(RUN_MLTON_DEPS)" -stop f ../lib/stubs/mlton-stubs/so
+ 		echo '$$(SML_LIB)/basis/sml-nj.mlb';				\
+ 		echo '$$(SML_LIB)/basis/mlton.mlb';				\
+ 		echo '$$(SML_LIB)/basis/basis.mlb';				\
+-		$(RUN_MLTON) -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |					\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlyacc';					\
+-		$(RUN_MLTON) -stop f ../lib/stubs/mlton-stubs/sources.mlb |	\
++		$(SRC)/bin/mlbdeps ../lib/stubs/mlton-stubs/sources.mlb |	\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) 'mlton-stubs';					\
+-		$(RUN_MLTON) -stop f mlton.mlb |				\
++		$(SRC)/bin/mlbdeps mlton.mlb |					\
+ 			$(GREP) -v 'mlb$$' |					\
+ 			$(GREP) -v 'sml/basis' |				\
+ 			$(GREP) -v 'targets' |					\
diff --git a/srcpkgs/mlton/patches/60-clean-polyml.patch b/srcpkgs/mlton/patches/60-clean-polyml.patch
new file mode 100644
index 0000000000000..8cd33967efa31
--- /dev/null
+++ b/srcpkgs/mlton/patches/60-clean-polyml.patch
@@ -0,0 +1,10 @@
+--- a/Makefile
++++ b/Makefile
+@@ -310,6 +310,7 @@ bootstrap-polyml:
+ 	$(RM) "$(BIN)/$(MLTON)"
+ 	$(MAKE) OLD_MLTON="$(BIN)/$(MLTON).polyml" all
+ 	$(RM) "$(LIB)/$(MLTON)-polyml$(EXE)"
++	$(RM) "$(LIB)/$(MLTON_OUTPUT)-polyml$(EXE)"
+ 	$(RM) "$(BIN)/$(MLTON).polyml"
+ 
+ .PHONY: polyml-mlton
diff --git a/srcpkgs/mlton/template b/srcpkgs/mlton/template
new file mode 100644
index 0000000000000..ac86588d05ae3
--- /dev/null
+++ b/srcpkgs/mlton/template
@@ -0,0 +1,31 @@
+# Template file for 'mlton'
+pkgname=mlton
+version=20210117
+revision=1
+build_style=gnu-makefile
+make_build_target=bootstrap-polyml
+hostmakedepends="polyml tar"
+makedepends="gmp-devel"
+depends="bash gcc gmp-devel"
+short_desc="MLton Standard ML (SML) compiler"
+maintainer="ii8 <murray.calavera@protonmail.com>"
+license="HPND"
+homepage="http://mlton.org/"
+distfiles="https://github.com/MLton/mlton/releases/download/on-${version}-release/mlton-${version}.src.tgz
+ https://github.com/MLton/mlton/commit/f074a9a41b5338303271cd50f17078595fef35ff.patch>mllex.patch"
+checksum="ec7a5a54deb39c7c0fa746d17767752154e9cb94dbcf3d15b795083b3f0f154b
+ da73a393384ac8e1094dc59b1a19cf73f506d0481354ced814cd894a83216272"
+skip_extraction="mllex.patch"
+nocross=yes
+
+post_extract() {
+	cp "${XBPS_SRCDISTDIR}/${pkgname}-${version}/mllex.patch" .
+}
+
+pre_patch() {
+	patch -Np1 -i mllex.patch
+}
+
+case "$XBPS_TARGET_MACHINE" in
+	i686*) broken="The 2nd bootstrap mlton(built by the polyml-mlton) segfaults in parseAndElaborate" ;;
+esac

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Merged]: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (15 preceding siblings ...)
  2023-11-08 13:40 ` [PR PATCH] [Updated] " ii8
@ 2023-12-01 13:10 ` leahneukirchen
  2023-12-01 14:54 ` leahneukirchen
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-12-01 13:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 484 bytes --]

There's a merged pull request on the void-packages repository

New package: mlton-20210117
https://github.com/void-linux/void-packages/pull/46951

Description:

- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-musl


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (16 preceding siblings ...)
  2023-12-01 13:10 ` [PR PATCH] [Merged]: " leahneukirchen
@ 2023-12-01 14:54 ` leahneukirchen
  2023-12-01 21:26 ` ii8
  2023-12-02 17:58 ` leahneukirchen
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-12-01 14:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 278 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1836255001

Comment:
@ii8 any idea why this breaks now? https://build.voidlinux.org/builders/x86_64-musl_builder/builds/50236/steps/shell_3/logs/stdio

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (17 preceding siblings ...)
  2023-12-01 14:54 ` leahneukirchen
@ 2023-12-01 21:26 ` ii8
  2023-12-02 17:58 ` leahneukirchen
  19 siblings, 0 replies; 21+ messages in thread
From: ii8 @ 2023-12-01 21:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 537 bytes --]

New comment by ii8 on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1836799679

Comment:
It looks like the `gdtoa.include-via-gdtoa.patch` patch wasn't applied before the compilation of the runtime started.
I would say it's due to running make with multiple jobs.

The mlton makefiles are not quite properly written so that each target actually always lists all it's prerequisites, so things aren't running in the right order.

The solution is probably to run make with just one job.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: New package: mlton-20210117
  2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
                   ` (18 preceding siblings ...)
  2023-12-01 21:26 ` ii8
@ 2023-12-02 17:58 ` leahneukirchen
  19 siblings, 0 replies; 21+ messages in thread
From: leahneukirchen @ 2023-12-02 17:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 224 bytes --]

New comment by leahneukirchen on void-packages repository

https://github.com/void-linux/void-packages/pull/46951#issuecomment-1837216428

Comment:
Indeed.  I forgot to clean it before trying `disable_parallel_build=yes`...

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2023-12-02 17:58 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-28 19:09 [PR PATCH] New package: mlton-20210117 ii8
2023-10-28 20:36 ` [PR PATCH] [Updated] " ii8
2023-10-29  8:04 ` Bnyro
2023-11-07 16:40 ` leahneukirchen
2023-11-07 17:14 ` ii8
2023-11-07 17:17 ` leahneukirchen
2023-11-07 17:17 ` leahneukirchen
2023-11-07 17:28 ` ii8
2023-11-07 17:35 ` ii8
2023-11-07 17:40 ` leahneukirchen
2023-11-07 23:40 ` [PR PATCH] [Updated] " ii8
2023-11-08  0:33 ` ii8
2023-11-08 12:15 ` leahneukirchen
2023-11-08 12:16 ` leahneukirchen
2023-11-08 12:26 ` ii8
2023-11-08 12:30 ` leahneukirchen
2023-11-08 13:40 ` [PR PATCH] [Updated] " ii8
2023-12-01 13:10 ` [PR PATCH] [Merged]: " leahneukirchen
2023-12-01 14:54 ` leahneukirchen
2023-12-01 21:26 ` ii8
2023-12-02 17:58 ` leahneukirchen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).