Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/HOL/TPTP/TPTP_Parser/   (Beweissystem Isabelle Version 2025-1©)  Datei vom 16.11.2025 mit Größe 265 kB image not shown  

Quellcode-Bibliothek tptp_lexyacc.ML

  Sprache: SML
 


(******************************************************************)
(* GENERATED FILE -- DO NOT EDIT -- GENERATED FILE -- DO NOT EDIT *)
(* GENERATED FILE -- DO NOT EDIT -- GENERATED FILE -- DO NOT EDIT *)
(* GENERATED FILE -- DO NOT EDIT -- GENERATED FILE -- DO NOT EDIT *)
(******************************************************************)

(*
  This file is produced from the parser generated by ML-Yacc from the
  source files tptp.lex and tptp.yacc.
*)

signature TPTP_TOKENS =
sig
type ('a,'b) token
type svalue
val LET_TT:  'a * 'a -> (svalue,'a) token
val LET_FT:  'a * 'a -> (svalue,'a) token
val LET_FF:  'a * 'a -> (svalue,'a) token
val LET_TF:  'a * 'a -> (svalue,'a) token
val ITE_T:  'a * 'a -> (svalue,'a) token
val ITE_F:  'a * 'a -> (svalue,'a) token
val CNF:  'a * 'a -> (svalue,'a) token
val FOF:  'a * 'a -> (svalue,'a) token
val TFF:  'a * 'a -> (svalue,'a) token
val THF:  'a * 'a -> (svalue,'a) token
val LET_TERM:  'a * 'a -> (svalue,'a) token
val SUBTYPE:  'a * 'a -> (svalue,'a) token
val DOLLAR_DOLLAR_WORD: (string) *  'a * 'a -> (svalue,'a) token
val DOLLAR_WORD: (string) *  'a * 'a -> (svalue,'a) token
val DEP_PROD:  'a * 'a -> (svalue,'a) token
val DEP_SUM:  'a * 'a -> (svalue,'a) token
val GENTZEN_ARROW:  'a * 'a -> (svalue,'a) token
val TIMES:  'a * 'a -> (svalue,'a) token
val PLUS:  'a * 'a -> (svalue,'a) token
val OPERATOR_EXISTS:  'a * 'a -> (svalue,'a) token
val OPERATOR_FORALL:  'a * 'a -> (svalue,'a) token
val DEFIN_CHOICE:  'a * 'a -> (svalue,'a) token
val INDEF_CHOICE:  'a * 'a -> (svalue,'a) token
val DUD:  'a * 'a -> (svalue,'a) token
val DISTINCT_OBJECT: (string) *  'a * 'a -> (svalue,'a) token
val COMMENT: (string) *  'a * 'a -> (svalue,'a) token
val LOWER_WORD: (string) *  'a * 'a -> (svalue,'a) token
val UPPER_WORD: (string) *  'a * 'a -> (svalue,'a) token
val SINGLE_QUOTED: (string) *  'a * 'a -> (svalue,'a) token
val DOT_DECIMAL: (string) *  'a * 'a -> (svalue,'a) token
val UNSIGNED_INTEGER: (string) *  'a * 'a -> (svalue,'a) token
val SIGNED_INTEGER: (string) *  'a * 'a -> (svalue,'a) token
val RATIONAL: (string) *  'a * 'a -> (svalue,'a) token
val REAL: (string) *  'a * 'a -> (svalue,'a) token
val DTFF:  'a * 'a -> (svalue,'a) token
val DFOT:  'a * 'a -> (svalue,'a) token
val DCNF:  'a * 'a -> (svalue,'a) token
val DFOF:  'a * 'a -> (svalue,'a) token
val DTHF:  'a * 'a -> (svalue,'a) token
val EOF:  'a * 'a -> (svalue,'a) token
val VLINE:  'a * 'a -> (svalue,'a) token
val TOK_TYPE:  'a * 'a -> (svalue,'a) token
val TOK_TRUE:  'a * 'a -> (svalue,'a) token
val TOK_RAT:  'a * 'a -> (svalue,'a) token
val TOK_REAL:  'a * 'a -> (svalue,'a) token
val TOK_INT:  'a * 'a -> (svalue,'a) token
val TOK_O:  'a * 'a -> (svalue,'a) token
val TOK_I:  'a * 'a -> (svalue,'a) token
val TOK_FALSE:  'a * 'a -> (svalue,'a) token
val TILDE:  'a * 'a -> (svalue,'a) token
val RPAREN:  'a * 'a -> (svalue,'a) token
val RBRKT:  'a * 'a -> (svalue,'a) token
val QUESTION:  'a * 'a -> (svalue,'a) token
val PPLUS:  'a * 'a -> (svalue,'a) token
val PERIOD:  'a * 'a -> (svalue,'a) token
val NOR:  'a * 'a -> (svalue,'a) token
val XOR:  'a * 'a -> (svalue,'a) token
val NEQUALS:  'a * 'a -> (svalue,'a) token
val NAND:  'a * 'a -> (svalue,'a) token
val MMINUS:  'a * 'a -> (svalue,'a) token
val MAP_TO:  'a * 'a -> (svalue,'a) token
val LPAREN:  'a * 'a -> (svalue,'a) token
val LBRKT:  'a * 'a -> (svalue,'a) token
val LAMBDA:  'a * 'a -> (svalue,'a) token
val INCLUDE:  'a * 'a -> (svalue,'a) token
val IMPLIES:  'a * 'a -> (svalue,'a) token
val IFF:  'a * 'a -> (svalue,'a) token
val FI:  'a * 'a -> (svalue,'a) token
val ARROW:  'a * 'a -> (svalue,'a) token
val LET:  'a * 'a -> (svalue,'a) token
val EXCLAMATION:  'a * 'a -> (svalue,'a) token
val EQUALS:  'a * 'a -> (svalue,'a) token
val COMMA:  'a * 'a -> (svalue,'a) token
val COLON:  'a * 'a -> (svalue,'a) token
val CARET:  'a * 'a -> (svalue,'a) token
val AT_SIGN:  'a * 'a -> (svalue,'a) token
val AMPERSAND:  'a * 'a -> (svalue,'a) token
end
signature TPTP_LRVALS=
sig
structure Tokens : TPTP_TOKENS
structure ParserData:PARSER_DATA
sharing type ParserData.Token.token = Tokens.token
sharing type ParserData.svalue = Tokens.svalue
end
functor TPTPLexFun(structure Tokens: TPTP_TOKENS)=
   struct
    structure UserDeclarations =
      struct
(*  Title:      HOL/TPTP/TPTP_Parser/tptp.lex
    Author:     Nik Sultana, Cambridge University Computer Laboratory

 Notes:
 * Omit %full in definitions to restrict alphabet to ascii.
 * Could include %posarg to ensure that we'd start counting character positions
   from 0, but it would punish performance.
 * %s AF F COMMENT; -- could improve by making stateful.

 Acknowledgements:
 * Geoff Sutcliffe for help with TPTP.
 * Timothy Bourke for his tips on getting ML-Yacc working with Poly/ML.
 * An early version of this was ported from the specification shipped with
   Leo-II, written by Frank Theiss.
 * Some boilerplate bits were taken from the ml-yacc/ml-lex manual by Roger Price.
 * Jasmin Blanchette and Makarius Wenzel for help with Isabelle integration.
*)


structure T = Tokens
type pos = int             (* Position in file *)
type lineNo = int
type svalue = T.svalue
type ('a,'b) token = ('a,'b) T.token
type lexresult = (svalue,pos) token
type lexarg = string
type arg = lexarg
val col = Unsynchronized.ref 0;
val linep = Unsynchronized.ref 1;         (* Line pointer *)
val eolpos = Unsynchronized.ref 0;

val badCh : string * string * int * int -> unit = fn
    (file_name, bad, line, col) =>
    TextIO.output(TextIO.stdOut, file_name ^ "["
          ^ Int.toString line ^ "." ^ Int.toString col
          ^ "] Invalid character \"" ^ bad ^ "\"\n");

val eof = fn file_name =>
  let
    val result = T.EOF (!linep,!col);
    val _ = linep := 0;
  in result end
(*here could check whether file ended prematurely:
 see if have open brackets, or if we're in some state other than INITIAL*)


val count_commentlines : string -> unit = fn str =>
  let
    val str' = String.explode str
    val newlines = List.filter (fn x => x = #"\n") str'
  in linep := (!linep) + (List.length newlines) end

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, 
"\000\000\000\000\000\000\000\000\000\143\145\000\000\144\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\143\139\134\000\101\089\088\083\082\081\080\078\077\072\070\057\
\\048\048\048\048\048\048\048\048\048\048\045\000\039\037\036\033\
\\030\029\029\029\029\029\029\029\029\029\029\029\029\029\029\029\
\\029\029\029\029\029\029\029\029\029\029\029\028\000\027\026\000\
\\000\007\007\023\007\007\020\007\007\013\007\007\007\007\007\007\
\\007\007\007\007\008\007\007\007\007\007\007\000\006\000\003\000\
\\000"
),
 (3, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\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\004\000\000\000\
\\000"
),
 (7, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (8, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\011\007\009\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (9, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\010\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (11, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\012\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (13, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\014\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (14, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\015\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (15, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\007\007\007\007\007\007\016\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (16, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\017\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (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\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\018\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (18, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\019\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (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\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\021\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\
\\000"
),
 (21, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\022\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\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\000\000\000\000\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\024\007\
\\007\007\007\007\007\007\007\007\007\007\007\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\000\000\000\000\000\000\000\000\
\\007\007\007\007\007\007\007\007\007\007\000\000\000\000\000\000\
\\000\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\000\000\000\000\007\
\\000\007\007\007\007\007\025\007\007\007\007\007\007\007\007\007\
\\007\007\007\007\007\007\007\007\007\007\007\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\
\\029\029\029\029\029\029\029\029\029\029\000\000\000\000\000\000\
\\000\029\029\029\029\029\029\029\029\029\029\029\029\029\029\029\
\\029\029\029\029\029\029\029\029\029\029\029\000\000\000\000\029\
\\000\029\029\029\029\029\029\029\029\029\029\029\029\029\029\029\
\\029\029\029\029\029\029\029\029\029\029\029\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\000\000\032\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"
),
 (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\000\000\000\035\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"
),
 (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\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\044\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\040\000\
\\000"
),
 (40, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\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"
),
 (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\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"
),
 (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\000\000\000\000\000\000\000\000\000\047\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\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\051\049\
\\048\048\048\048\048\048\048\048\048\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"
),
 (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\
\\050\050\050\050\050\050\050\050\050\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"
),
 (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\
\\052\052\052\052\052\052\052\052\052\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"
),
 (52, 
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\052\052\052\052\052\052\052\052\052\052\000\000\000\000\000\000\
\\000\000\000\000\000\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\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"
),
 (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\055\000\055\000\000\
\\054\054\054\054\054\054\054\054\054\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"
),
 (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\
\\054\054\054\054\054\054\054\054\054\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"
),
 (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\
\\056\056\056\056\056\056\056\056\056\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"
),
 (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\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"
),
 (58, 
"\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\059\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058"
),
 (59, 
"\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\059\058\058\058\058\060\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\058\
\\058"
),
 (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\000\064\000\000\000\000\000\000\000\000\000\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"
),
 (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\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"
),
 (62, 
"\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\063\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062"
),
 (63, 
"\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\063\062\062\062\062\060\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\062\
\\062"
),
 (64, 
"\064\064\064\064\064\064\064\064\064\064\000\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\065\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064"
),
 (65, 
"\064\064\064\064\064\064\064\064\064\064\000\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\066\064\064\064\064\065\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\064\
\\064"
),
 (66, 
"\066\066\066\066\066\066\066\066\066\066\062\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\069\066\066\066\066\067\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066"
),
 (67, 
"\066\066\066\066\066\066\066\066\066\066\062\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\068\066\066\066\066\067\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066"
),
 (69, 
"\066\066\066\066\066\066\066\066\066\066\062\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\069\066\066\066\066\065\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\
\\066"
),
 (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\000\000\000\000\000\000\000\000\000\000\000\000\
\\071\071\071\071\071\071\071\071\071\071\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\075\000\000\
\\074\074\074\074\074\074\074\074\074\074\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"
),
 (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\000\000\000\000\000\000\000\000\000\000\051\049\
\\074\074\074\074\074\074\074\074\074\074\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\076\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\079\000\000\000\000\
\\074\074\074\074\074\074\074\074\074\074\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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, 
"\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\000\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\087\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084"
),
 (84, 
"\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\086\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\085\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\084\
\\084"
),
 (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\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\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"
),
 (89, 
"\089\089\089\089\089\089\089\089\089\089\000\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\100\089\089\089\089\089\089\089\089\089\090\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089"
),
 (90, 
"\089\089\089\089\089\089\089\089\089\089\000\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\100\089\089\089\089\091\089\089\089\089\090\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\089\
\\089"
),
 (91, 
"\091\091\091\091\091\091\091\091\091\091\062\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\095\091\091\091\091\094\091\091\091\091\092\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091"
),
 (92, 
"\091\091\091\091\091\091\091\091\091\091\062\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\095\091\091\091\091\093\091\091\091\091\092\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091"
),
 (94, 
"\091\091\091\091\091\091\091\091\091\091\062\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\095\091\091\091\091\094\091\091\091\091\090\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\091\
\\091"
),
 (95, 
"\095\095\095\095\095\095\095\095\095\095\062\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\095\095\095\095\095\098\095\095\095\095\096\
\\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\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\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\095\095\
\\095"
),
 (96, 
"\095\095\095\095\095\095\095\095\095\095\062\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\095\095\095\095\095\097\095\095\095\095\096\
\\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\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\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\095\095\
\\095"
),
 (98, 
"\095\095\095\095\095\095\095\095\095\095\062\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\095\095\095\095\095\098\095\095\095\095\099\
\\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\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\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\095\095\
\\095"
),
 (99, 
"\100\100\100\100\100\100\100\100\100\100\000\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\095\100\100\100\100\099\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100"
),
 (100, 
"\100\100\100\100\100\100\100\100\100\100\000\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\099\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\
\\100"
),
 (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\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\131\
\\000\102\102\128\102\102\124\102\102\118\102\102\108\102\102\102\
\\102\102\102\102\103\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\106\102\104\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\105\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\107\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\109\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\110\102\102\102\102\102\102\000\000\000\000\000\
\\000"
),
 (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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\111\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\
\\000"
),
 (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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\115\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\112\102\102\102\102\102\102\000\000\000\000\000\
\\000"
),
 (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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\114\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\113\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\117\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\116\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\119\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\120\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\
\\000"
),
 (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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\121\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\123\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\122\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\125\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\
\\000"
),
 (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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\127\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\126\102\102\102\102\102\102\000\000\000\000\000\
\\000"
),
 (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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\129\102\
\\102\102\102\102\102\102\102\102\102\102\102\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\
\\102\102\102\102\102\102\102\102\102\102\000\000\000\000\000\000\
\\000\102\102\102\102\102\102\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\000\000\000\000\102\
\\000\102\102\102\102\102\130\102\102\102\102\102\102\102\102\102\
\\102\102\102\102\102\102\102\102\102\102\102\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\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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\133\133\133\133\133\
\\133\133\133\133\133\133\133\133\133\133\133\000\000\000\000\000\
\\000"
),
 (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\
\\133\133\133\133\133\133\133\133\133\133\000\000\000\000\000\000\
\\000\133\133\133\133\133\133\133\133\133\133\133\133\133\133\133\
\\133\133\133\133\133\133\133\133\133\133\133\000\000\000\000\133\
\\000\133\133\133\133\133\133\133\133\133\133\133\133\133\133\133\
\\133\133\133\133\133\133\133\133\133\133\133\000\000\000\000\000\
\\000"
),
 (134, 
"\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\000\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\138\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135"
),
 (135, 
"\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\137\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\136\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\135\
\\135"
),
 (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\135\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\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\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000"
),
 (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\142\000\000\000\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\140\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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, 
"\000\000\000\000\000\000\000\000\000\143\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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\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\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\\000\000\000\000\000\000\000\000\000\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 = [(N 2)], trans = 1},
{fin = [(N 2)], trans = 1},
{fin = [(N 84)], trans = 3},
{fin = [(N 71)], trans = 0},
{fin = [(N 61)], trans = 0},
{fin = [(N 86)], trans = 0},
{fin = [(N 271)], trans = 7},
{fin = [(N 271)], trans = 8},
{fin = [(N 271)], trans = 9},
{fin = [(N 174),(N 271)], trans = 7},
{fin = [(N 271)], trans = 11},
{fin = [(N 186),(N 271)], trans = 7},
{fin = [(N 271)], trans = 13},
{fin = [(N 271)], trans = 14},
{fin = [(N 271)], trans = 15},
{fin = [(N 271)], trans = 16},
{fin = [(N 271)], trans = 17},
{fin = [(N 271)], trans = 18},
{fin = [(N 194),(N 271)], trans = 7},
{fin = [(N 271)], trans = 20},
{fin = [(N 271)], trans = 21},
{fin = [(N 178),(N 271)], trans = 7},
{fin = [(N 271)], trans = 23},
{fin = [(N 271)], trans = 24},
{fin = [(N 182),(N 271)], trans = 7},
{fin = [(N 25)], trans = 0},
{fin = [(N 80)], trans = 0},
{fin = [(N 50)], trans = 0},
{fin = [(N 145)], trans = 29},
{fin = [(N 23)], trans = 30},
{fin = [(N 15)], trans = 0},
{fin = [(N 12)], trans = 0},
{fin = [(N 78)], trans = 33},
{fin = [(N 21)], trans = 0},
{fin = [(N 306)], trans = 0},
{fin = [(N 38)], trans = 0},
{fin = [(N 31)], trans = 37},
{fin = [(N 48)], trans = 0},
{fin = [], trans = 39},
{fin = [], trans = 40},
{fin = [(N 68)], trans = 0},
{fin = [(N 41)], trans = 42},
{fin = [(N 45)], trans = 0},
{fin = [(N 300)], trans = 0},
{fin = [(N 27)], trans = 45},
{fin = [(N 36)], trans = 0},
{fin = [(N 309)], trans = 0},
{fin = [(N 126)], trans = 48},
{fin = [], trans = 49},
{fin = [(N 104)], trans = 49},
{fin = [], trans = 51},
{fin = [(N 119)], trans = 52},
{fin = [], trans = 53},
{fin = [(N 119)], trans = 54},
{fin = [], trans = 55},
{fin = [(N 119)], trans = 55},
{fin = [], trans = 57},
{fin = [], trans = 58},
{fin = [], trans = 59},
{fin = [(N 170)], trans = 60},
{fin = [], trans = 61},
{fin = [], trans = 62},
{fin = [], trans = 63},
{fin = [(N 170)], trans = 64},
{fin = [(N 170)], trans = 65},
{fin = [(N 170)], trans = 66},
{fin = [(N 170)], trans = 67},
{fin = [(N 170)], trans = 66},
{fin = [(N 170)], trans = 69},
{fin = [(N 73)], trans = 70},
{fin = [(N 130)], trans = 70},
{fin = [], trans = 72},
{fin = [(N 55)], trans = 0},
{fin = [(N 123)], trans = 74},
{fin = [(N 58)], trans = 75},
{fin = [(N 297)], trans = 0},
{fin = [(N 29)], trans = 0},
{fin = [(N 291)], trans = 78},
{fin = [(N 76)], trans = 0},
{fin = [(N 293)], trans = 0},
{fin = [(N 82)], trans = 0},
{fin = [(N 52)], trans = 0},
{fin = [], trans = 83},
{fin = [], trans = 84},
{fin = [], trans = 85},
{fin = [(N 139)], trans = 0},
{fin = [], trans = 85},
{fin = [(N 9)], trans = 0},
{fin = [(N 170)], trans = 89},
{fin = [(N 170)], trans = 90},
{fin = [(N 170)], trans = 91},
{fin = [(N 170)], trans = 92},
{fin = [(N 170)], trans = 91},
{fin = [(N 170)], trans = 94},
{fin = [(N 170)], trans = 95},
{fin = [(N 170)], trans = 96},
{fin = [(N 170)], trans = 95},
{fin = [(N 170)], trans = 98},
{fin = [(N 170)], trans = 99},
{fin = [(N 170)], trans = 100},
{fin = [], trans = 101},
{fin = [(N 278)], trans = 102},
{fin = [(N 278)], trans = 103},
{fin = [(N 278)], trans = 104},
{fin = [(N 199),(N 278)], trans = 102},
{fin = [(N 278)], trans = 106},
{fin = [(N 219),(N 278)], trans = 102},
{fin = [(N 278)], trans = 108},
{fin = [(N 278)], trans = 109},
{fin = [(N 278)], trans = 110},
{fin = [(N 278)], trans = 111},
{fin = [(N 278)], trans = 112},
{fin = [(N 265),(N 278)], trans = 102},
{fin = [(N 241),(N 278)], trans = 102},
{fin = [(N 278)], trans = 115},
{fin = [(N 257),(N 278)], trans = 102},
{fin = [(N 249),(N 278)], trans = 102},
{fin = [(N 278)], trans = 118},
{fin = [(N 278)], trans = 119},
{fin = [(N 278)], trans = 120},
{fin = [(N 278)], trans = 121},
{fin = [(N 233),(N 278)], trans = 102},
{fin = [(N 226),(N 278)], trans = 102},
{fin = [(N 278)], trans = 124},
{fin = [(N 278)], trans = 125},
{fin = [(N 214),(N 278)], trans = 102},
{fin = [(N 204),(N 278)], trans = 102},
{fin = [(N 278)], trans = 128},
{fin = [(N 278)], trans = 129},
{fin = [(N 209),(N 278)], trans = 102},
{fin = [(N 281)], trans = 0},
{fin = [], trans = 132},
{fin = [(N 289)], trans = 133},
{fin = [], trans = 134},
{fin = [], trans = 135},
{fin = [], trans = 136},
{fin = [(N 95)], trans = 0},
{fin = [], trans = 136},
{fin = [(N 33)], trans = 139},
{fin = [(N 303)], trans = 0},
{fin = [(N 64)], trans = 0},
{fin = [(N 18)], trans = 0},
{fin = [(N 2)], trans = 143},
{fin = [(N 7)], trans = 144},
{fin = [(N 7)], trans = 0}])
end
structure StartStates =
        struct
        datatype yystartstate = STARTSTATE of int

(* start state definitions *)

val INITIAL = STARTSTATE 1;

end
type result = UserDeclarations.lexresult
        exception LexerError (* raised if illegal leaf action tried *)
end

fun makeLexer yyinput =
let     val yygone0=1
        val yyb = Unsynchronized.ref "\n"               (* buffer *)
        val yybl = Unsynchronized.ref 1         (*buffer length *)
        val yybufpos = Unsynchronized.ref 1             (* location of next character to use *)
        val yygone = Unsynchronized.ref yygone0 (* position in file of beginning of buffer *)
        val yydone = Unsynchronized.ref false           (* eof found yet? *)
        val yybegin = Unsynchronized.ref 1              (*Current 'start state' for lexer *)

        val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
                 yybegin := x

fun lex (yyarg as (file_name:string)) =
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 = i0+ !yygone
                        open UserDeclarations Internal.StartStates
 in (yybufpos := i; case yyk of 

                        (* Application actions *)

  104 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.RATIONAL(yytext,!linep,!col) end
| 119 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.REAL(yytext,!linep,!col) end
| 12 => (col:=yypos-(!eolpos); T.INDEF_CHOICE(!linep,!col))
| 123 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.SIGNED_INTEGER(yytext,!linep,!col) end
| 126 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.UNSIGNED_INTEGER(yytext,!linep,!col) end
| 130 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.DOT_DECIMAL(yytext,!linep,!col) end
| 139 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.SINGLE_QUOTED(yytext,!linep,!col) end
| 145 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.UPPER_WORD(yytext,!linep,!col) end
| 15 => (col:=yypos-(!eolpos); T.DEFIN_CHOICE(!linep,!col))
| 170 => let val yytext=yymktext() in col:=yypos-(!eolpos); count_commentlines yytext;T.COMMENT(yytext,!linep,!col) end
| 174 => (col:=yypos-(!eolpos); T.THF(!linep,!col))
| 178 => (col:=yypos-(!eolpos); T.FOF(!linep,!col))
| 18 => (col:=yypos-(!eolpos); T.OPERATOR_FORALL(!linep,!col))
| 182 => (col:=yypos-(!eolpos); T.CNF(!linep,!col))
| 186 => (col:=yypos-(!eolpos); T.TFF(!linep,!col))
| 194 => (col:=yypos-(!eolpos); T.INCLUDE(!linep,!col))
| 199 => (col:=yypos-(!eolpos); T.DTHF(!linep,!col))
| 2 => let val yytext=yymktext() in col:=(!col)+size yytext; continue ()  end
| 204 => (col:=yypos-(!eolpos); T.DFOF(!linep,!col))
| 209 => (col:=yypos-(!eolpos); T.DCNF(!linep,!col))
| 21 => (col:=yypos-(!eolpos); T.OPERATOR_EXISTS(!linep,!col))
| 214 => (col:=yypos-(!eolpos); T.DFOT(!linep,!col))
| 219 => (col:=yypos-(!eolpos); T.DTFF(!linep,!col))
| 226 => (col:=yypos-(!eolpos); T.ITE_F(!linep,!col))
| 23 => (col:=yypos-(!eolpos); T.AT_SIGN(!linep,!col))
| 233 => (col:=yypos-(!eolpos); T.ITE_T(!linep,!col))
| 241 => (col:=yypos-(!eolpos); T.LET_TF(!linep,!col))
| 249 => (col:=yypos-(!eolpos); T.LET_FF(!linep,!col))
| 25 => (col:=yypos-(!eolpos); T.CARET(!linep,!col))
| 257 => (col:=yypos-(!eolpos); T.LET_FT(!linep,!col))
| 265 => (col:=yypos-(!eolpos); T.LET_TT(!linep,!col))
| 27 => (col:=yypos-(!eolpos); T.COLON(!linep,!col))
| 271 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.LOWER_WORD(yytext,!linep,!col) end
| 278 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.DOLLAR_WORD(yytext,!linep,!col) end
| 281 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.DOLLAR_WORD(yytext,!linep,!col) end
| 289 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.DOLLAR_DOLLAR_WORD(yytext,!linep,!col) end
| 29 => (col:=yypos-(!eolpos); T.COMMA(!linep,!col))
| 291 => (col:=yypos-(!eolpos); T.PLUS(!linep,!col))
| 293 => (col:=yypos-(!eolpos); T.TIMES(!linep,!col))
| 297 => (col:=yypos-(!eolpos); T.GENTZEN_ARROW(!linep,!col))
| 300 => (col:=yypos-(!eolpos); T.SUBTYPE(!linep,!col))
| 303 => (col:=yypos-(!eolpos); T.DEP_PROD(!linep,!col))
| 306 => (col:=yypos-(!eolpos); T.DEP_SUM(!linep,!col))
| 309 => (col:=yypos-(!eolpos); T.LET_TERM(!linep,!col))
| 31 => (col:=yypos-(!eolpos); T.EQUALS(!linep,!col))
| 33 => (col:=yypos-(!eolpos); T.EXCLAMATION(!linep,!col))
| 36 => (col:=yypos-(!eolpos); T.LET(!linep,!col))
| 38 => (col:=yypos-(!eolpos); T.ARROW(!linep,!col))
| 41 => (col:=yypos-(!eolpos); T.FI(!linep,!col))
| 45 => (col:=yypos-(!eolpos); T.IFF(!linep,!col))
| 48 => (col:=yypos-(!eolpos); T.IMPLIES(!linep,!col))
| 50 => (col:=yypos-(!eolpos); T.LBRKT(!linep,!col))
| 52 => (col:=yypos-(!eolpos); T.LPAREN(!linep,!col))
| 55 => (col:=yypos-(!eolpos); T.MAP_TO(!linep,!col))
| 58 => (col:=yypos-(!eolpos); T.MMINUS(!linep,!col))
| 61 => (col:=yypos-(!eolpos); T.NAND(!linep,!col))
| 64 => (col:=yypos-(!eolpos); T.NEQUALS(!linep,!col))
| 68 => (col:=yypos-(!eolpos); T.XOR(!linep,!col))
| 7 => let val yytext=yymktext() in linep:=(!linep)+1;
                   eolpos:=yypos+size yytext; continue () end
| 71 => (col:=yypos-(!eolpos); T.NOR(!linep,!col))
| 73 => (col:=yypos-(!eolpos); T.PERIOD(!linep,!col))
| 76 => (col:=yypos-(!eolpos); T.PPLUS(!linep,!col))
| 78 => (col:=yypos-(!eolpos); T.QUESTION(!linep,!col))
| 80 => (col:=yypos-(!eolpos); T.RBRKT(!linep,!col))
| 82 => (col:=yypos-(!eolpos); T.RPAREN(!linep,!col))
| 84 => (col:=yypos-(!eolpos); T.TILDE(!linep,!col))
| 86 => (col:=yypos-(!eolpos); T.VLINE(!linep,!col))
| 9 => (col:=yypos-(!eolpos); T.AMPERSAND(!linep,!col))
| 95 => let val yytext=yymktext() in col:=yypos-(!eolpos); T.DISTINCT_OBJECT(yytext,!linep,!col) 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 := !yygone+i0;
                     yybl := String.size (!yyb);
                     scan (s,AcceptingLeaves,l-i0,0))
            end
          else let val NewChar = Char.ord(String.sub(!yyb,l))
                val NewChar = if NewChar<128 then NewChar else 128
                val NewState = Char.ord(String.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
functor TPTPLrValsFun(structure Token : TOKEN)
 : sig structure ParserData : PARSER_DATA
       structure Tokens : TPTP_TOKENS
   end
 = 
struct
structure ParserData=
struct
structure Header = 
struct
open TPTP_Syntax

exception UNRECOGNISED_SYMBOL of string * string

exception UNRECOGNISED_ROLE of string
fun classify_role role =
  case role of
    "axiom" => Role_Axiom
  | "hypothesis" => Role_Hypothesis
  | "definition" => Role_Definition
  | "assumption" => Role_Assumption
  | "lemma" => Role_Lemma
  | "theorem" => Role_Theorem
  | "conjecture" => Role_Conjecture
  | "negated_conjecture" => Role_Negated_Conjecture
  | "plain" => Role_Plain
  | "fi_domain" => Role_Fi_Domain
  | "fi_functors" => Role_Fi_Functors
  | "fi_predicates" => Role_Fi_Predicates
  | "type" => Role_Type
  | "unknown" => Role_Unknown
  | thing => raise (UNRECOGNISED_ROLE thing)

fun extract_quant_info (Quant (quantifier, vars, tptp_formula)) =
  (quantifier, vars, tptp_formula)


end
structure LrTable = Token.LrTable
structure Token = Token
local open LrTable in 
val table=let val actionRows =
"\
\\001\000\001\000\078\002\002\000\078\002\004\000\097\002\005\000\078\002\
\\006\000\078\002\009\000\078\002\010\000\078\002\011\000\078\002\
\\012\000\078\002\019\000\078\002\020\000\078\002\021\000\078\002\
\\022\000\078\002\026\000\078\002\027\000\078\002\037\000\078\002\
\\059\000\078\002\060\000\078\002\000\000\
\\001\000\001\000\081\002\002\000\081\002\004\000\098\002\005\000\081\002\
\\006\000\081\002\009\000\081\002\010\000\081\002\011\000\081\002\
\\012\000\081\002\019\000\081\002\020\000\081\002\021\000\081\002\
\\022\000\081\002\026\000\081\002\027\000\081\002\037\000\081\002\
\\059\000\081\002\060\000\081\002\000\000\
\\001\000\001\000\251\002\005\000\251\002\006\000\010\003\010\000\251\002\
\\011\000\251\002\012\000\251\002\019\000\251\002\020\000\010\003\
\\021\000\251\002\022\000\251\002\026\000\251\002\027\000\251\002\
\\037\000\251\002\000\000\
\\001\000\001\000\254\002\005\000\254\002\006\000\021\003\010\000\254\002\
\\011\000\254\002\012\000\254\002\019\000\254\002\020\000\021\003\
\\021\000\254\002\022\000\254\002\026\000\254\002\027\000\254\002\
\\037\000\254\002\000\000\
\\001\000\001\000\005\003\005\000\005\003\006\000\012\003\010\000\005\003\
\\011\000\005\003\012\000\005\003\019\000\005\003\020\000\012\003\
\\021\000\005\003\022\000\005\003\026\000\005\003\027\000\005\003\
\\037\000\005\003\000\000\
\\001\000\001\000\015\003\004\000\164\002\005\000\015\003\006\000\015\003\
\\010\000\015\003\011\000\015\003\012\000\015\003\016\000\223\000\
\\019\000\015\003\020\000\015\003\021\000\015\003\022\000\015\003\
\\027\000\015\003\037\000\015\003\000\000\
\\001\000\001\000\028\003\004\000\165\002\005\000\028\003\006\000\028\003\
\\010\000\028\003\011\000\028\003\012\000\028\003\016\000\218\000\
\\019\000\028\003\020\000\028\003\021\000\028\003\022\000\028\003\
\\027\000\028\003\037\000\028\003\000\000\
\\001\000\001\000\212\000\003\000\211\000\006\000\210\000\007\000\124\000\
\\010\000\209\000\011\000\208\000\012\000\207\000\013\000\035\000\
\\015\000\206\000\016\000\205\000\019\000\204\000\020\000\203\000\
\\021\000\202\000\022\000\201\000\025\000\121\000\028\000\120\000\
\\037\000\200\000\044\000\101\000\045\000\100\000\046\000\034\000\
\\047\000\033\000\049\000\032\000\050\000\099\000\051\000\031\000\
\\053\000\098\000\055\000\199\000\056\000\198\000\057\000\197\000\
\\058\000\196\000\062\000\195\000\063\000\194\000\064\000\097\000\
\\065\000\096\000\068\000\030\000\069\000\029\000\070\000\028\000\
\\071\000\027\000\072\000\193\000\073\000\095\000\074\000\192\000\
\\075\000\191\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\001\000\212\000\003\000\211\000\006\000\210\000\007\000\124\000\
\\010\000\209\000\011\000\208\000\012\000\207\000\013\000\035\000\
\\016\000\035\001\019\000\204\000\020\000\203\000\021\000\202\000\
\\022\000\201\000\025\000\121\000\026\000\034\001\028\000\120\000\
\\037\000\200\000\044\000\101\000\045\000\100\000\046\000\034\000\
\\047\000\033\000\049\000\032\000\050\000\099\000\051\000\031\000\
\\053\000\098\000\055\000\199\000\056\000\198\000\057\000\197\000\
\\058\000\196\000\062\000\195\000\063\000\194\000\064\000\097\000\
\\065\000\096\000\068\000\030\000\069\000\029\000\070\000\028\000\
\\071\000\027\000\072\000\193\000\073\000\095\000\074\000\192\000\
\\075\000\191\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\001\000\212\000\003\000\211\000\006\000\210\000\007\000\124\000\
\\010\000\209\000\011\000\208\000\012\000\207\000\013\000\035\000\
\\016\000\035\001\019\000\204\000\020\000\203\000\021\000\202\000\
\\022\000\201\000\025\000\121\000\028\000\120\000\037\000\200\000\
\\044\000\101\000\045\000\100\000\046\000\034\000\047\000\033\000\
\\049\000\032\000\050\000\099\000\051\000\031\000\053\000\098\000\
\\055\000\199\000\056\000\198\000\057\000\197\000\058\000\196\000\
\\062\000\195\000\063\000\194\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\072\000\193\000\073\000\095\000\074\000\192\000\075\000\191\000\
\\076\000\094\000\077\000\093\000\000\000\
\\001\000\001\000\212\000\003\000\211\000\006\000\210\000\007\000\124\000\
\\010\000\209\000\011\000\208\000\012\000\207\000\013\000\035\000\
\\016\000\118\001\019\000\204\000\020\000\203\000\021\000\202\000\
\\022\000\201\000\025\000\121\000\028\000\120\000\037\000\200\000\
\\044\000\101\000\045\000\100\000\046\000\034\000\047\000\033\000\
\\049\000\032\000\050\000\099\000\051\000\031\000\053\000\098\000\
\\055\000\199\000\056\000\198\000\057\000\197\000\058\000\196\000\
\\062\000\195\000\063\000\194\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\072\000\193\000\073\000\095\000\074\000\192\000\075\000\191\000\
\\076\000\094\000\077\000\093\000\000\000\
\\001\000\001\000\016\001\002\000\015\001\005\000\060\002\006\000\210\000\
\\009\000\101\002\010\000\209\000\011\000\208\000\012\000\207\000\
\\019\000\204\000\020\000\203\000\021\000\202\000\022\000\201\000\
\\026\000\060\002\027\000\060\002\037\000\014\001\059\000\101\002\
\\060\000\101\002\000\000\
\\001\000\003\000\211\000\007\000\124\000\025\000\121\000\055\000\199\000\
\\056\000\198\000\062\000\195\000\063\000\194\000\000\000\
\\001\000\004\000\251\000\000\000\
\\001\000\004\000\017\001\000\000\
\\001\000\004\000\226\001\000\000\
\\001\000\004\000\236\001\000\000\
\\001\000\004\000\243\001\000\000\
\\001\000\004\000\019\002\000\000\
\\001\000\004\000\020\002\000\000\
\\001\000\004\000\023\002\000\000\
\\001\000\005\000\166\002\009\000\173\002\027\000\166\002\000\000\
\\001\000\005\000\041\000\000\000\
\\001\000\005\000\042\000\000\000\
\\001\000\005\000\043\000\000\000\
\\001\000\005\000\044\000\000\000\
\\001\000\005\000\054\000\000\000\
\\001\000\005\000\055\000\000\000\
\\001\000\005\000\056\000\000\000\
\\001\000\005\000\057\000\000\000\
\\001\000\005\000\168\001\000\000\
\\001\000\005\000\172\001\000\000\
\\001\000\005\000\176\001\000\000\
\\001\000\005\000\191\001\000\000\
\\001\000\005\000\192\001\000\000\
\\001\000\005\000\193\001\000\000\
\\001\000\005\000\201\001\000\000\
\\001\000\005\000\202\001\000\000\
\\001\000\005\000\203\001\000\000\
\\001\000\005\000\004\002\000\000\
\\001\000\005\000\014\002\000\000\
\\001\000\005\000\018\002\000\000\
\\001\000\006\000\210\000\000\000\
\\001\000\006\000\210\000\020\000\203\000\000\000\
\\001\000\006\000\169\001\000\000\
\\001\000\007\000\124\000\013\000\035\000\015\000\123\000\016\000\122\000\
\\025\000\121\000\028\000\120\000\044\000\101\000\045\000\100\000\
\\046\000\034\000\047\000\033\000\049\000\032\000\050\000\099\000\
\\051\000\031\000\053\000\098\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\073\000\095\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\007\000\124\000\013\000\035\000\015\000\151\000\016\000\150\000\
\\025\000\121\000\028\000\120\000\044\000\101\000\045\000\100\000\
\\046\000\034\000\047\000\033\000\049\000\032\000\050\000\099\000\
\\051\000\031\000\053\000\098\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\072\000\149\000\073\000\095\000\074\000\148\000\075\000\147\000\
\\076\000\094\000\077\000\093\000\000\000\
\\001\000\007\000\124\000\013\000\035\000\016\000\239\000\025\000\121\000\
\\026\000\244\000\028\000\120\000\044\000\101\000\045\000\100\000\
\\046\000\034\000\047\000\033\000\049\000\032\000\050\000\099\000\
\\051\000\031\000\053\000\098\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\073\000\095\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\007\000\124\000\013\000\035\000\016\000\239\000\025\000\121\000\
\\028\000\120\000\044\000\101\000\045\000\100\000\046\000\034\000\
\\047\000\033\000\049\000\032\000\050\000\099\000\051\000\031\000\
\\053\000\098\000\064\000\097\000\065\000\096\000\068\000\030\000\
\\069\000\029\000\070\000\028\000\071\000\027\000\073\000\095\000\
\\076\000\094\000\077\000\093\000\000\000\
\\001\000\007\000\124\000\013\000\035\000\016\000\255\000\025\000\121\000\
\\026\000\008\001\028\000\120\000\044\000\101\000\045\000\100\000\
\\046\000\034\000\047\000\033\000\049\000\032\000\050\000\099\000\
\\051\000\031\000\053\000\098\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\072\000\149\000\073\000\095\000\074\000\148\000\075\000\147\000\
\\076\000\094\000\077\000\093\000\000\000\
\\001\000\007\000\124\000\013\000\035\000\016\000\255\000\025\000\121\000\
\\028\000\120\000\044\000\101\000\045\000\100\000\046\000\034\000\
\\047\000\033\000\049\000\032\000\050\000\099\000\051\000\031\000\
\\053\000\098\000\064\000\097\000\065\000\096\000\068\000\030\000\
\\069\000\029\000\070\000\028\000\071\000\027\000\072\000\149\000\
\\073\000\095\000\074\000\148\000\075\000\147\000\076\000\094\000\
\\077\000\093\000\000\000\
\\001\000\007\000\064\001\013\000\035\000\016\000\063\001\044\000\101\000\
\\045\000\100\000\046\000\034\000\047\000\033\000\049\000\032\000\
\\050\000\099\000\051\000\031\000\053\000\098\000\064\000\097\000\
\\065\000\096\000\068\000\030\000\069\000\029\000\070\000\028\000\
\\071\000\027\000\073\000\095\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\007\000\069\001\013\000\035\000\016\000\068\001\044\000\101\000\
\\045\000\100\000\046\000\034\000\047\000\033\000\049\000\032\000\
\\050\000\099\000\051\000\031\000\053\000\098\000\064\000\097\000\
\\065\000\096\000\068\000\030\000\069\000\029\000\070\000\028\000\
\\071\000\027\000\073\000\095\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\009\000\173\002\027\000\166\002\060\000\233\001\000\000\
\\001\000\009\000\020\001\059\000\019\001\060\000\018\001\000\000\
\\001\000\009\000\182\001\000\000\
\\001\000\011\000\173\001\000\000\
\\001\000\013\000\035\000\015\000\052\001\026\000\163\001\039\000\051\001\
\\040\000\050\001\041\000\049\001\042\000\048\001\043\000\047\001\
\\044\000\101\000\045\000\100\000\046\000\034\000\047\000\033\000\
\\049\000\032\000\050\000\099\000\051\000\031\000\053\000\046\001\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\000\000\
\\001\000\013\000\035\000\015\000\052\001\039\000\051\001\040\000\050\001\
\\041\000\049\001\042\000\048\001\043\000\047\001\044\000\101\000\
\\045\000\100\000\046\000\034\000\047\000\033\000\049\000\032\000\
\\050\000\099\000\051\000\031\000\053\000\046\001\068\000\030\000\
\\069\000\029\000\070\000\028\000\071\000\027\000\000\000\
\\001\000\013\000\035\000\016\000\103\000\028\000\102\000\044\000\101\000\
\\045\000\100\000\046\000\034\000\047\000\033\000\049\000\032\000\
\\050\000\099\000\051\000\031\000\053\000\098\000\064\000\097\000\
\\065\000\096\000\068\000\030\000\069\000\029\000\070\000\028\000\
\\071\000\027\000\073\000\095\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\013\000\035\000\016\000\063\001\044\000\101\000\045\000\100\000\
\\046\000\034\000\047\000\033\000\049\000\032\000\050\000\099\000\
\\051\000\031\000\053\000\098\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\073\000\095\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\013\000\035\000\016\000\068\001\044\000\101\000\045\000\100\000\
\\046\000\034\000\047\000\033\000\049\000\032\000\050\000\099\000\
\\051\000\031\000\053\000\098\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\073\000\095\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\013\000\035\000\016\000\101\001\049\000\032\000\050\000\099\000\
\\051\000\031\000\063\000\100\001\064\000\097\000\068\000\030\000\
\\069\000\029\000\070\000\028\000\071\000\027\000\000\000\
\\001\000\013\000\035\000\016\000\031\002\049\000\032\000\050\000\099\000\
\\051\000\031\000\064\000\097\000\068\000\030\000\069\000\029\000\
\\070\000\028\000\071\000\027\000\000\000\
\\001\000\013\000\035\000\016\000\036\002\049\000\032\000\050\000\099\000\
\\051\000\031\000\064\000\097\000\068\000\030\000\069\000\029\000\
\\070\000\028\000\071\000\027\000\000\000\
\\001\000\013\000\035\000\028\000\102\000\044\000\101\000\045\000\100\000\
\\046\000\034\000\047\000\033\000\049\000\032\000\050\000\099\000\
\\051\000\031\000\053\000\098\000\064\000\097\000\065\000\096\000\
\\068\000\030\000\069\000\029\000\070\000\028\000\071\000\027\000\
\\073\000\095\000\076\000\094\000\077\000\093\000\000\000\
\\001\000\013\000\035\000\044\000\101\000\045\000\100\000\046\000\034\000\
\\047\000\033\000\049\000\032\000\050\000\099\000\051\000\031\000\
\\053\000\098\000\064\000\097\000\065\000\096\000\068\000\030\000\
\\069\000\029\000\070\000\028\000\071\000\027\000\073\000\095\000\
\\076\000\094\000\077\000\093\000\000\000\
\\001\000\013\000\035\000\046\000\034\000\047\000\033\000\049\000\032\000\
\\051\000\031\000\068\000\030\000\069\000\029\000\070\000\028\000\
\\071\000\027\000\000\000\
\\001\000\013\000\035\000\049\000\032\000\050\000\099\000\051\000\031\000\
\\064\000\097\000\068\000\030\000\069\000\029\000\070\000\028\000\
\\071\000\027\000\000\000\
\\001\000\013\000\035\000\049\000\032\000\051\000\031\000\068\000\030\000\
\\069\000\029\000\070\000\028\000\071\000\027\000\000\000\
\\001\000\015\000\053\000\000\000\
\\001\000\015\000\123\000\000\000\
\\001\000\015\000\151\000\000\000\
\\001\000\015\000\206\000\000\000\
\\001\000\015\000\237\000\000\000\
\\001\000\015\000\253\000\000\000\
\\001\000\015\000\024\001\000\000\
\\001\000\015\000\052\001\000\000\
\\001\000\015\000\171\001\000\000\
\\001\000\015\000\175\001\000\000\
\\001\000\015\000\184\001\000\000\
\\001\000\016\000\018\000\000\000\
\\001\000\016\000\019\000\000\000\
\\001\000\016\000\020\000\000\000\
\\001\000\016\000\021\000\000\000\
\\001\000\016\000\023\000\000\000\
\\001\000\016\000\224\000\000\000\
\\001\000\016\000\225\000\000\000\
\\001\000\016\000\226\000\000\000\
\\001\000\016\000\000\001\000\000\
\\001\000\016\000\001\001\000\000\
\\001\000\016\000\002\001\000\000\
\\001\000\016\000\027\001\000\000\
\\001\000\016\000\028\001\000\000\
\\001\000\016\000\029\001\000\000\
\\001\000\016\000\156\001\000\000\
\\001\000\016\000\157\001\000\000\
\\001\000\016\000\158\001\000\000\
\\001\000\016\000\159\001\000\000\
\\001\000\016\000\160\001\000\000\
\\001\000\023\000\058\000\000\000\
\\001\000\023\000\151\001\000\000\
\\001\000\023\000\177\001\000\000\
\\001\000\023\000\181\001\000\000\
\\001\000\023\000\195\001\000\000\
\\001\000\026\000\213\000\000\000\
\\001\000\026\000\084\001\000\000\
\\001\000\026\000\114\001\000\000\
\\001\000\026\000\150\001\000\000\
\\001\000\026\000\178\001\000\000\
\\001\000\026\000\188\001\000\000\
\\001\000\026\000\197\001\000\000\
\\001\000\026\000\215\001\000\000\
\\001\000\026\000\001\002\000\000\
\\001\000\026\000\003\002\000\000\
\\001\000\026\000\008\002\000\000\
\\001\000\027\000\052\000\000\000\
\\001\000\027\000\037\001\000\000\
\\001\000\027\000\071\001\037\000\217\000\000\000\
\\001\000\027\000\072\001\000\000\
\\001\000\027\000\081\001\000\000\
\\001\000\027\000\082\001\000\000\
\\001\000\027\000\085\001\000\000\
\\001\000\027\000\110\001\000\000\
\\001\000\027\000\111\001\000\000\
\\001\000\027\000\112\001\000\000\
\\001\000\027\000\115\001\000\000\
\\001\000\027\000\147\001\000\000\
\\001\000\027\000\148\001\000\000\
\\001\000\027\000\164\001\000\000\
\\001\000\027\000\166\001\000\000\
\\001\000\027\000\167\001\000\000\
\\001\000\027\000\200\001\000\000\
\\001\000\027\000\219\001\000\000\
\\001\000\027\000\223\001\000\000\
\\001\000\027\000\232\001\000\000\
\\001\000\027\000\235\001\060\000\234\001\000\000\
\\001\000\027\000\242\001\000\000\
\\001\000\027\000\249\001\000\000\
\\001\000\027\000\250\001\000\000\
\\001\000\027\000\251\001\000\000\
\\001\000\027\000\252\001\000\000\
\\001\000\027\000\253\001\000\000\
\\001\000\027\000\254\001\000\000\
\\001\000\027\000\000\002\000\000\
\\001\000\027\000\002\002\000\000\
\\001\000\027\000\006\002\000\000\
\\001\000\027\000\012\002\000\000\
\\001\000\027\000\013\002\000\000\
\\001\000\027\000\016\002\000\000\
\\001\000\027\000\017\002\000\000\
\\001\000\027\000\028\002\000\000\
\\001\000\027\000\032\002\000\000\
\\001\000\027\000\033\002\000\000\
\\001\000\027\000\037\002\000\000\
\\001\000\038\000\000\000\000\000\
\\001\000\049\000\040\000\000\000\
\\001\000\050\000\099\000\000\000\
\\001\000\051\000\048\000\000\000\
\\001\000\060\000\233\001\000\000\
\\001\000\061\000\236\000\000\000\
\\001\000\061\000\252\000\000\000\
\\001\000\061\000\023\001\000\000\
\\040\002\000\000\
\\041\002\000\000\
\\042\002\000\000\
\\043\002\013\000\016\000\052\000\015\000\068\000\014\000\069\000\013\000\
\\070\000\012\000\071\000\011\000\000\000\
\\044\002\000\000\
\\045\002\000\000\
\\046\002\000\000\
\\047\002\000\000\
\\048\002\000\000\
\\049\002\000\000\
\\050\002\000\000\
\\051\002\000\000\
\\052\002\000\000\
\\053\002\000\000\
\\054\002\000\000\
\\055\002\005\000\216\000\000\000\
\\056\002\000\000\
\\057\002\000\000\
\\058\002\000\000\
\\059\002\000\000\
\\061\002\000\000\
\\062\002\000\000\
\\063\002\000\000\
\\064\002\000\000\
\\065\002\000\000\
\\066\002\000\000\
\\067\002\037\000\010\001\000\000\
\\068\002\001\000\011\001\000\000\
\\069\002\002\000\012\001\000\000\
\\070\002\000\000\
\\071\002\000\000\
\\072\002\000\000\
\\073\002\000\000\
\\074\002\000\000\
\\075\002\000\000\
\\076\002\000\000\
\\077\002\000\000\
\\078\002\000\000\
\\079\002\000\000\
\\080\002\000\000\
\\081\002\000\000\
\\082\002\000\000\
\\083\002\005\000\198\001\000\000\
\\084\002\000\000\
\\085\002\000\000\
\\086\002\004\000\199\001\000\000\
\\087\002\000\000\
\\088\002\000\000\
\\089\002\000\000\
\\090\002\000\000\
\\091\002\000\000\
\\092\002\000\000\
\\093\002\000\000\
\\094\002\000\000\
\\095\002\000\000\
\\096\002\000\000\
\\099\002\000\000\
\\100\002\000\000\
\\101\002\000\000\
\\102\002\000\000\
\\103\002\060\000\021\001\000\000\
\\104\002\059\000\022\001\000\000\
\\105\002\009\000\020\001\000\000\
\\106\002\000\000\
\\107\002\000\000\
\\108\002\000\000\
\\109\002\000\000\
\\110\002\000\000\
\\111\002\000\000\
\\112\002\000\000\
\\113\002\000\000\
\\114\002\000\000\
\\115\002\005\000\149\001\000\000\
\\116\002\000\000\
\\117\002\000\000\
\\118\002\000\000\
\\119\002\000\000\
\\120\002\000\000\
\\121\002\001\000\250\000\010\000\209\000\011\000\208\000\012\000\207\000\
\\019\000\204\000\021\000\202\000\022\000\201\000\037\000\249\000\000\000\
\\122\002\000\000\
\\123\002\000\000\
\\124\002\000\000\
\\125\002\037\000\246\000\000\000\
\\126\002\001\000\247\000\000\000\
\\127\002\000\000\
\\128\002\000\000\
\\129\002\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\000\000\
\\138\002\005\000\189\001\000\000\
\\139\002\000\000\
\\140\002\000\000\
\\141\002\004\000\190\001\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\000\000\
\\153\002\000\000\
\\154\002\000\000\
\\155\002\000\000\
\\156\002\000\000\
\\157\002\000\000\
\\158\002\000\000\
\\159\002\000\000\
\\160\002\000\000\
\\161\002\005\000\113\001\000\000\
\\162\002\000\000\
\\163\002\000\000\
\\167\002\000\000\
\\168\002\000\000\
\\169\002\000\000\
\\170\002\000\000\
\\171\002\000\000\
\\172\002\000\000\
\\173\002\000\000\
\\174\002\000\000\
\\175\002\016\000\183\001\000\000\
\\176\002\000\000\
\\177\002\000\000\
\\178\002\000\000\
\\179\002\005\000\007\002\000\000\
\\180\002\000\000\
\\181\002\000\000\
\\182\002\000\000\
\\183\002\000\000\
\\184\002\000\000\
\\185\002\000\000\
\\186\002\000\000\
\\187\002\001\000\235\000\010\000\209\000\011\000\208\000\012\000\207\000\
\\019\000\204\000\021\000\202\000\022\000\201\000\037\000\234\000\000\000\
\\188\002\000\000\
\\189\002\000\000\
\\190\002\000\000\
\\191\002\037\000\231\000\000\000\
\\192\002\001\000\232\000\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\005\000\179\001\000\000\
\\203\002\000\000\
\\204\002\000\000\
\\205\002\000\000\
\\206\002\000\000\
\\207\002\000\000\
\\208\002\000\000\
\\209\002\000\000\
\\210\002\005\000\083\001\000\000\
\\211\002\000\000\
\\212\002\000\000\
\\213\002\037\000\217\000\000\000\
\\214\002\000\000\
\\215\002\000\000\
\\216\002\000\000\
\\217\002\000\000\
\\218\002\000\000\
\\219\002\000\000\
\\220\002\000\000\
\\221\002\016\000\025\001\000\000\
\\222\002\000\000\
\\223\002\000\000\
\\224\002\000\000\
\\225\002\000\000\
\\226\002\000\000\
\\227\002\000\000\
\\228\002\000\000\
\\229\002\000\000\
\\230\002\000\000\
\\231\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\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\000\000\
\\246\002\000\000\
\\248\002\000\000\
\\249\002\000\000\
\\250\002\000\000\
\\252\002\000\000\
\\253\002\000\000\
\\001\003\000\000\
\\002\003\000\000\
\\003\003\000\000\
\\004\003\000\000\
\\006\003\000\000\
\\007\003\000\000\
\\008\003\000\000\
\\009\003\000\000\
\\010\003\000\000\
\\011\003\000\000\
\\012\003\000\000\
\\013\003\000\000\
\\013\003\066\000\026\001\000\000\
\\014\003\000\000\
\\015\003\000\000\
\\015\003\016\000\223\000\000\000\
\\016\003\000\000\
\\017\003\000\000\
\\018\003\000\000\
\\019\003\000\000\
\\020\003\000\000\
\\021\003\000\000\
\\022\003\000\000\
\\023\003\000\000\
\\024\003\016\000\219\000\000\000\
\\025\003\000\000\
\\026\003\000\000\
\\027\003\000\000\
\\028\003\016\000\218\000\000\000\
\\029\003\000\000\
\\030\003\000\000\
\\031\003\005\000\165\001\000\000\
\\032\003\000\000\
\\033\003\000\000\
\\034\003\000\000\
\\035\003\000\000\
\\036\003\000\000\
\\037\003\005\000\155\001\000\000\
\\038\003\000\000\
\\039\003\000\000\
\\040\003\000\000\
\\041\003\005\000\046\000\000\000\
\\042\003\000\000\
\\043\003\005\000\214\000\000\000\
\\044\003\004\000\152\001\000\000\
\\045\003\000\000\
\\046\003\000\000\
\\047\003\016\000\153\001\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\000\000\
\\056\003\000\000\
\\057\003\000\000\
\\058\003\000\000\
\\059\003\000\000\
\\060\003\000\000\
\\061\003\000\000\
\\062\003\005\000\214\001\000\000\
\\063\003\000\000\
\\064\003\000\000\
\\065\003\000\000\
\\066\003\000\000\
\\067\003\000\000\
\\068\003\000\000\
\\069\003\000\000\
\\070\003\000\000\
\\071\003\000\000\
\\072\003\000\000\
\\073\003\000\000\
\\074\003\000\000\
\\075\003\000\000\
\\076\003\000\000\
\\077\003\000\000\
\\078\003\000\000\
\\079\003\000\000\
\"
val actionRowNumbers =
"\166\000\163\000\166\000\168\000\
\\167\000\169\000\170\000\171\000\
\\172\000\081\000\082\000\083\000\
\\084\000\166\000\085\000\164\000\
\\067\000\067\000\067\000\067\000\
\\165\000\156\000\177\001\176\001\
\\022\000\183\001\182\001\181\001\
\\180\001\178\001\179\001\187\001\
\\188\001\184\001\023\000\024\000\
\\025\000\154\001\192\001\158\000\
\\158\000\158\000\158\000\116\000\
\\070\000\026\000\179\000\027\000\
\\028\000\029\000\100\000\067\000\
\\059\000\045\000\046\000\007\000\
\\152\001\105\000\156\001\142\001\
\\138\001\120\001\178\000\074\001\
\\075\001\079\001\077\001\108\001\
\\109\001\111\001\112\001\110\001\
\\119\001\117\001\002\000\124\001\
\\122\001\130\001\131\001\003\000\
\\135\001\004\000\139\001\141\001\
\\137\001\043\000\128\001\189\001\
\\132\001\118\001\129\001\086\000\
\\087\000\088\000\186\001\185\001\
\\133\001\143\001\191\001\190\001\
\\066\000\065\000\178\000\045\001\
\\047\001\049\001\050\001\052\001\
\\053\001\048\001\058\001\059\001\
\\046\001\160\000\066\001\074\000\
\\048\000\060\001\106\001\097\001\
\\045\000\047\000\096\001\255\000\
\\178\000\237\000\240\000\242\000\
\\243\000\245\000\246\000\241\000\
\\251\000\252\000\238\000\013\000\
\\254\000\239\000\161\000\008\001\
\\075\000\050\000\253\000\006\000\
\\005\000\089\000\090\000\091\000\
\\046\000\049\000\178\000\180\000\
\\182\000\185\000\186\000\189\000\
\\190\000\191\000\011\000\198\000\
\\199\000\183\000\014\000\184\000\
\\054\000\187\000\222\000\223\000\
\\224\000\000\000\202\000\201\000\
\\181\000\162\000\212\000\076\000\
\\080\001\082\001\084\001\092\001\
\\081\001\093\001\091\001\090\001\
\\121\001\125\001\134\001\123\001\
\\211\000\092\000\093\000\094\000\
\\086\001\087\001\095\001\094\001\
\\089\001\088\001\104\001\102\001\
\\101\001\116\001\103\001\007\000\
\\008\000\099\001\098\001\100\001\
\\115\001\085\001\105\001\153\001\
\\067\000\117\000\058\000\065\000\
\\066\000\066\000\066\000\066\000\
\\114\001\066\000\051\000\052\000\
\\050\000\078\001\042\000\118\000\
\\119\000\048\000\048\000\048\000\
\\048\000\048\000\071\000\157\000\
\\065\001\048\000\120\000\121\000\
\\071\001\106\000\069\001\122\000\
\\050\000\050\000\050\000\050\000\
\\050\000\062\000\072\000\157\000\
\\007\001\050\000\052\000\051\000\
\\050\000\123\000\124\000\125\000\
\\025\001\107\000\022\001\126\000\
\\010\000\010\000\010\000\010\000\
\\010\000\010\000\010\000\009\000\
\\010\000\010\000\010\000\010\000\
\\010\000\073\000\157\000\009\000\
\\069\000\012\000\012\000\009\000\
\\127\000\128\000\235\000\108\000\
\\233\000\009\000\155\001\101\000\
\\161\001\165\001\163\001\162\001\
\\157\001\160\001\150\001\159\001\
\\164\001\095\000\096\000\097\000\
\\098\000\099\000\057\000\076\001\
\\129\000\144\001\130\000\113\001\
\\083\001\131\000\013\001\030\000\
\\044\000\060\000\078\000\017\001\
\\031\000\056\000\061\000\079\000\
\\032\000\073\001\102\000\055\001\
\\057\001\051\001\054\001\056\001\
\\067\001\109\000\063\001\061\001\
\\068\001\048\000\070\001\103\000\
\\248\000\250\000\244\000\247\000\
\\249\000\107\001\029\001\026\001\
\\055\000\021\000\028\001\037\001\
\\039\001\036\001\080\000\062\000\
\\020\001\110\000\002\001\004\001\
\\005\001\033\000\034\000\035\000\
\\000\001\027\001\021\001\050\000\
\\023\001\104\000\193\000\200\000\
\\009\000\195\000\197\000\188\000\
\\192\000\196\000\194\000\220\000\
\\218\000\221\000\227\000\229\000\
\\225\000\226\000\228\000\230\000\
\\231\000\111\000\205\000\207\000\
\\208\000\132\000\219\000\127\001\
\\036\000\217\000\037\000\216\000\
\\038\000\001\000\232\000\009\000\
\\234\000\176\000\058\000\058\000\
\\177\000\077\000\046\000\066\000\
\\059\000\045\000\007\000\175\001\
\\112\000\173\001\140\001\066\000\
\\136\001\126\001\066\000\066\000\
\\133\000\157\000\066\000\050\000\
\\134\000\157\000\066\000\175\000\
\\015\000\157\000\072\001\174\000\
\\068\000\068\000\157\000\135\000\
\\053\000\136\000\016\000\157\000\
\\068\000\046\000\046\000\050\000\
\\024\001\173\000\137\000\017\000\
\\157\000\009\000\210\000\007\000\
\\007\000\009\000\236\000\158\001\
\\138\000\149\001\151\001\139\000\
\\140\000\141\000\142\000\143\000\
\\058\000\172\001\145\001\144\000\
\\014\001\015\001\113\000\145\000\
\\018\001\019\001\114\000\039\000\
\\048\000\064\001\042\001\146\000\
\\040\001\115\000\030\001\068\000\
\\068\000\035\001\050\000\003\001\
\\006\001\147\000\148\000\040\000\
\\203\000\010\000\206\000\209\000\
\\149\000\150\000\041\000\166\001\
\\168\001\171\001\170\001\169\001\
\\167\001\174\001\148\001\018\000\
\\147\001\019\000\066\000\062\001\
\\038\001\068\000\020\000\043\001\
\\044\001\001\001\011\001\010\001\
\\050\000\204\000\215\000\214\000\
\\009\000\060\000\061\000\151\000\
\\041\001\063\000\152\000\153\000\
\\012\001\016\001\146\001\031\001\
\\032\001\064\000\009\001\213\000\
\\034\001\154\000\068\000\033\001\
\\159\000\155\000"
val gotoT =
"\
\\128\000\008\000\129\000\007\000\130\000\006\000\131\000\005\000\
\\132\000\004\000\133\000\003\000\134\000\002\000\135\000\001\000\
\\136\000\037\002\000\000\
\\000\000\
\\128\000\008\000\129\000\007\000\130\000\006\000\131\000\005\000\
\\132\000\004\000\133\000\003\000\134\000\002\000\135\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\128\000\008\000\129\000\007\000\130\000\006\000\131\000\005\000\
\\132\000\004\000\133\000\003\000\134\000\002\000\135\000\020\000\000\000\
\\000\000\
\\000\000\
\\002\000\024\000\009\000\023\000\014\000\022\000\000\000\
\\002\000\034\000\009\000\023\000\014\000\022\000\000\000\
\\002\000\035\000\009\000\023\000\014\000\022\000\000\000\
\\002\000\036\000\009\000\023\000\014\000\022\000\000\000\
\\000\000\
\\018\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\
\\004\000\043\000\000\000\
\\000\000\
\\127\000\045\000\000\000\
\\127\000\047\000\000\000\
\\127\000\048\000\000\000\
\\127\000\049\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\002\000\058\000\003\000\057\000\009\000\023\000\014\000\022\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\066\000\055\000\065\000\057\000\064\000\058\000\063\000\
\\059\000\062\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\061\000\113\000\062\000\112\000\063\000\111\000\065\000\110\000\
\\066\000\109\000\067\000\108\000\068\000\107\000\069\000\106\000\
\\070\000\105\000\071\000\104\000\072\000\103\000\073\000\102\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\144\000\020\000\085\000\022\000\084\000\023\000\143\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\074\000\138\000\076\000\137\000\077\000\136\000\083\000\135\000\
\\084\000\134\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\125\000\097\000\124\000\139\000\123\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\098\000\173\000\100\000\172\000\101\000\171\000\
\\102\000\170\000\103\000\169\000\104\000\168\000\105\000\167\000\
\\106\000\166\000\107\000\165\000\108\000\164\000\110\000\163\000\
\\111\000\162\000\112\000\161\000\113\000\160\000\117\000\159\000\
\\118\000\158\000\119\000\157\000\120\000\156\000\121\000\155\000\
\\122\000\154\000\123\000\153\000\124\000\152\000\125\000\151\000\
\\126\000\150\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\001\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\
\\036\000\220\000\037\000\219\000\038\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\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\226\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\225\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\066\000\055\000\065\000\057\000\064\000\058\000\227\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\001\000\228\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\050\000\231\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\063\000\111\000\065\000\110\000\066\000\236\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\061\000\113\000\062\000\239\000\063\000\111\000\065\000\110\000\
\\066\000\109\000\067\000\108\000\068\000\107\000\069\000\106\000\
\\070\000\105\000\071\000\104\000\072\000\238\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\060\000\241\000\063\000\111\000\065\000\110\000\066\000\109\000\
\\067\000\108\000\068\000\107\000\069\000\106\000\070\000\105\000\
\\071\000\104\000\072\000\240\000\147\000\061\000\148\000\060\000\
\\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\001\000\243\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\050\000\246\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\252\000\
\\139\000\123\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\144\000\020\000\085\000\022\000\084\000\023\000\143\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\074\000\138\000\076\000\003\001\077\000\136\000\083\000\135\000\
\\084\000\002\001\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\001\001\139\000\123\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\075\000\005\001\077\000\136\000\085\000\133\000\089\000\132\000\
\\090\000\131\000\091\000\130\000\092\000\129\000\093\000\128\000\
\\094\000\127\000\095\000\126\000\096\000\004\001\139\000\123\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\001\000\007\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\036\000\183\000\037\000\182\000\050\000\179\000\053\000\011\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\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\098\000\173\000\100\000\029\001\101\000\171\000\
\\102\000\170\000\103\000\169\000\104\000\168\000\105\000\167\000\
\\106\000\166\000\107\000\165\000\108\000\164\000\110\000\163\000\
\\111\000\162\000\112\000\161\000\113\000\160\000\117\000\159\000\
\\118\000\158\000\119\000\157\000\120\000\156\000\121\000\155\000\
\\122\000\154\000\123\000\153\000\124\000\152\000\125\000\028\001\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\099\000\031\001\101\000\171\000\102\000\170\000\
\\103\000\169\000\104\000\168\000\105\000\167\000\106\000\166\000\
\\107\000\165\000\108\000\164\000\110\000\163\000\111\000\162\000\
\\112\000\161\000\113\000\160\000\117\000\159\000\118\000\158\000\
\\119\000\157\000\120\000\156\000\121\000\155\000\122\000\154\000\
\\123\000\153\000\124\000\152\000\125\000\030\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\002\000\058\000\003\000\034\001\009\000\023\000\014\000\022\000\000\000\
\\000\000\
\\006\000\043\001\008\000\042\001\009\000\041\001\010\000\040\001\
\\011\000\039\001\012\000\038\001\013\000\037\001\014\000\087\000\
\\016\000\036\001\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\066\000\055\000\065\000\057\000\051\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\053\001\021\000\052\001\022\000\084\000\
\\023\000\083\000\024\000\082\000\025\000\187\000\026\000\080\000\
\\027\000\186\000\028\000\078\000\029\000\077\000\030\000\076\000\
\\031\000\075\000\032\000\184\000\033\000\073\000\034\000\072\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\053\001\021\000\054\001\022\000\084\000\
\\023\000\083\000\024\000\082\000\025\000\187\000\026\000\080\000\
\\027\000\186\000\028\000\078\000\029\000\077\000\030\000\076\000\
\\031\000\075\000\032\000\184\000\033\000\073\000\034\000\072\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\055\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\056\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\053\001\021\000\057\001\022\000\084\000\
\\023\000\083\000\024\000\082\000\025\000\187\000\026\000\080\000\
\\027\000\186\000\028\000\078\000\029\000\077\000\030\000\076\000\
\\031\000\075\000\032\000\184\000\033\000\073\000\034\000\072\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\060\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\140\000\059\001\
\\141\000\058\001\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\226\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\065\001\142\000\064\001\143\000\063\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\068\001\139\000\123\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\036\000\220\000\038\000\218\000\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\063\000\111\000\065\000\110\000\066\000\071\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\063\000\111\000\065\000\110\000\066\000\072\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\063\000\111\000\065\000\110\000\066\000\073\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\063\000\111\000\065\000\110\000\066\000\074\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\063\000\111\000\065\000\110\000\066\000\075\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\061\000\076\001\000\000\
\\011\000\078\001\064\000\077\001\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\063\000\111\000\065\000\110\000\066\000\109\000\067\000\108\000\
\\068\000\107\000\069\000\106\000\070\000\105\000\071\000\104\000\
\\072\000\238\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\084\001\
\\139\000\123\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\085\001\
\\139\000\123\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\086\001\
\\139\000\123\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\087\001\
\\139\000\123\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\088\001\
\\139\000\123\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\079\000\094\001\
\\080\000\093\001\081\000\092\001\082\000\091\001\144\000\090\001\
\\148\000\089\001\000\000\
\\074\000\100\001\000\000\
\\011\000\104\001\086\000\103\001\087\000\102\001\088\000\101\001\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\001\001\139\000\123\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\226\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\065\001\142\000\105\001\143\000\063\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\060\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\140\000\106\001\
\\141\000\058\001\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\107\001\139\000\123\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\113\000\160\000\117\000\159\000\118\000\114\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\113\000\160\000\117\000\159\000\118\000\117\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\113\000\160\000\117\000\159\000\118\000\118\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\113\000\160\000\117\000\159\000\118\000\119\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\113\000\160\000\117\000\159\000\118\000\120\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\113\000\160\000\117\000\159\000\118\000\121\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\113\000\160\000\117\000\159\000\118\000\122\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\169\000\
\\104\000\168\000\105\000\167\000\106\000\166\000\107\000\165\000\
\\108\000\164\000\109\000\124\001\110\000\163\000\111\000\162\000\
\\112\000\161\000\113\000\160\000\117\000\159\000\118\000\158\000\
\\119\000\157\000\120\000\156\000\121\000\155\000\122\000\154\000\
\\123\000\153\000\124\000\152\000\125\000\123\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\108\000\126\001\113\000\160\000\117\000\159\000\118\000\125\001\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\108\000\127\001\113\000\160\000\117\000\159\000\118\000\125\001\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\106\000\129\001\108\000\128\001\113\000\160\000\117\000\159\000\
\\118\000\125\001\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\108\000\130\001\113\000\160\000\117\000\159\000\118\000\125\001\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\108\000\131\001\113\000\160\000\117\000\159\000\118\000\125\001\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\098\000\132\001\000\000\
\\011\000\136\001\114\000\135\001\115\000\134\001\116\000\133\001\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\169\000\
\\104\000\168\000\105\000\167\000\106\000\166\000\107\000\165\000\
\\108\000\164\000\110\000\163\000\111\000\162\000\112\000\161\000\
\\113\000\160\000\117\000\159\000\118\000\158\000\119\000\157\000\
\\120\000\156\000\121\000\155\000\122\000\154\000\123\000\153\000\
\\124\000\152\000\125\000\137\001\147\000\061\000\148\000\060\000\
\\149\000\059\000\000\000\
\\009\000\090\000\019\000\139\001\031\000\138\001\000\000\
\\051\000\178\000\054\000\175\000\117\000\141\001\138\000\140\001\000\000\
\\051\000\178\000\054\000\175\000\117\000\143\001\137\000\142\001\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\169\000\
\\104\000\168\000\105\000\167\000\106\000\166\000\107\000\165\000\
\\108\000\164\000\110\000\163\000\111\000\162\000\112\000\161\000\
\\113\000\160\000\117\000\159\000\118\000\158\000\119\000\157\000\
\\120\000\156\000\121\000\155\000\122\000\154\000\123\000\153\000\
\\124\000\152\000\125\000\144\001\147\000\061\000\148\000\060\000\
\\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\169\000\
\\104\000\168\000\105\000\167\000\106\000\166\000\107\000\165\000\
\\108\000\164\000\110\000\163\000\111\000\162\000\112\000\161\000\
\\113\000\160\000\117\000\159\000\118\000\158\000\119\000\157\000\
\\120\000\156\000\121\000\155\000\122\000\154\000\123\000\153\000\
\\124\000\152\000\125\000\028\001\147\000\061\000\148\000\060\000\
\\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\005\000\152\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\006\000\043\001\007\000\160\001\008\000\159\001\009\000\041\001\
\\010\000\040\001\011\000\039\001\012\000\038\001\013\000\037\001\
\\014\000\087\000\016\000\036\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\060\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\141\000\168\001\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\226\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\065\001\143\000\172\001\147\000\061\000\148\000\060\000\
\\149\000\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\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\060\000\178\001\063\000\111\000\065\000\110\000\066\000\109\000\
\\067\000\108\000\068\000\107\000\069\000\106\000\070\000\105\000\
\\071\000\104\000\072\000\240\000\147\000\061\000\148\000\060\000\
\\149\000\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\
\\009\000\097\001\011\000\096\001\047\000\095\001\078\000\185\001\
\\079\000\094\001\080\000\184\001\081\000\092\001\082\000\183\001\
\\144\000\090\001\148\000\089\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\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\075\000\192\001\077\000\136\000\085\000\133\000\089\000\132\000\
\\090\000\131\000\091\000\130\000\092\000\129\000\093\000\128\000\
\\094\000\127\000\095\000\126\000\096\000\004\001\139\000\123\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\169\000\
\\104\000\168\000\105\000\167\000\106\000\166\000\107\000\165\000\
\\108\000\164\000\110\000\163\000\111\000\162\000\112\000\161\000\
\\113\000\160\000\117\000\159\000\118\000\158\000\119\000\157\000\
\\120\000\156\000\121\000\155\000\122\000\154\000\123\000\153\000\
\\124\000\152\000\125\000\194\001\147\000\061\000\148\000\060\000\
\\149\000\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\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\099\000\202\001\101\000\171\000\102\000\170\000\
\\103\000\169\000\104\000\168\000\105\000\167\000\106\000\166\000\
\\107\000\165\000\108\000\164\000\110\000\163\000\111\000\162\000\
\\112\000\161\000\113\000\160\000\117\000\159\000\118\000\158\000\
\\119\000\157\000\120\000\156\000\121\000\155\000\122\000\154\000\
\\123\000\153\000\124\000\152\000\125\000\030\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\006\000\043\001\008\000\203\001\009\000\041\001\010\000\040\001\
\\011\000\039\001\012\000\038\001\013\000\037\001\014\000\087\000\
\\016\000\036\001\000\000\
\\006\000\043\001\007\000\204\001\008\000\159\001\009\000\041\001\
\\010\000\040\001\011\000\039\001\012\000\038\001\013\000\037\001\
\\014\000\087\000\016\000\036\001\000\000\
\\000\000\
\\006\000\206\001\017\000\205\001\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\144\000\020\000\085\000\022\000\084\000\023\000\143\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\074\000\138\000\076\000\137\000\077\000\136\000\083\000\135\000\
\\084\000\134\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\125\000\097\000\207\001\139\000\123\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\208\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\066\000\055\000\065\000\057\000\064\000\058\000\063\000\
\\059\000\209\001\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\061\000\113\000\062\000\112\000\063\000\111\000\065\000\110\000\
\\066\000\109\000\067\000\108\000\068\000\107\000\069\000\106\000\
\\070\000\105\000\071\000\104\000\072\000\103\000\073\000\210\001\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\098\000\173\000\100\000\172\000\101\000\171\000\
\\102\000\170\000\103\000\169\000\104\000\168\000\105\000\167\000\
\\106\000\166\000\107\000\165\000\108\000\164\000\110\000\163\000\
\\111\000\162\000\112\000\161\000\113\000\160\000\117\000\159\000\
\\118\000\158\000\119\000\157\000\120\000\156\000\121\000\155\000\
\\122\000\154\000\123\000\153\000\124\000\152\000\125\000\151\000\
\\126\000\211\001\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\053\001\021\000\214\001\022\000\084\000\
\\023\000\083\000\024\000\082\000\025\000\187\000\026\000\080\000\
\\027\000\186\000\028\000\078\000\029\000\077\000\030\000\076\000\
\\031\000\075\000\032\000\184\000\033\000\073\000\034\000\072\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\215\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\216\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\011\000\104\001\086\000\103\001\087\000\102\001\088\000\218\001\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\219\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\220\001\
\\139\000\123\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\011\000\104\001\086\000\103\001\087\000\102\001\088\000\222\001\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\223\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\011\000\078\001\064\000\225\001\000\000\
\\000\000\
\\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\080\000\226\001\
\\148\000\089\001\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\080\000\228\001\
\\146\000\227\001\148\000\089\001\000\000\
\\011\000\104\001\086\000\103\001\087\000\102\001\088\000\229\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\011\000\104\001\086\000\103\001\087\000\102\001\088\000\235\001\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\080\000\236\001\
\\148\000\089\001\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\144\000\020\000\085\000\022\000\084\000\023\000\143\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\074\000\138\000\076\000\137\000\077\000\136\000\083\000\135\000\
\\084\000\134\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\125\000\097\000\237\001\139\000\123\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\144\000\020\000\085\000\022\000\084\000\023\000\143\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\074\000\138\000\076\000\137\000\077\000\136\000\083\000\135\000\
\\084\000\134\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\125\000\097\000\238\001\139\000\123\000\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\239\001\139\000\123\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\011\000\136\001\114\000\135\001\115\000\134\001\116\000\242\001\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\169\000\
\\104\000\168\000\105\000\167\000\106\000\166\000\107\000\165\000\
\\108\000\164\000\109\000\243\001\110\000\163\000\111\000\162\000\
\\112\000\161\000\113\000\160\000\117\000\159\000\118\000\158\000\
\\119\000\157\000\120\000\156\000\121\000\155\000\122\000\154\000\
\\123\000\153\000\124\000\152\000\125\000\123\001\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\098\000\173\000\100\000\172\000\101\000\171\000\
\\102\000\170\000\103\000\169\000\104\000\168\000\105\000\167\000\
\\106\000\166\000\107\000\165\000\108\000\164\000\110\000\163\000\
\\111\000\162\000\112\000\161\000\113\000\160\000\117\000\159\000\
\\118\000\158\000\119\000\157\000\120\000\156\000\121\000\155\000\
\\122\000\154\000\123\000\153\000\124\000\152\000\125\000\151\000\
\\126\000\244\001\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\098\000\173\000\100\000\172\000\101\000\171\000\
\\102\000\170\000\103\000\169\000\104\000\168\000\105\000\167\000\
\\106\000\166\000\107\000\165\000\108\000\164\000\110\000\163\000\
\\111\000\162\000\112\000\161\000\113\000\160\000\117\000\159\000\
\\118\000\158\000\119\000\157\000\120\000\156\000\121\000\155\000\
\\122\000\154\000\123\000\153\000\124\000\152\000\125\000\151\000\
\\126\000\245\001\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\169\000\
\\104\000\168\000\105\000\167\000\106\000\166\000\107\000\165\000\
\\108\000\164\000\110\000\163\000\111\000\162\000\112\000\161\000\
\\113\000\160\000\117\000\159\000\118\000\158\000\119\000\157\000\
\\120\000\156\000\121\000\155\000\122\000\154\000\123\000\153\000\
\\124\000\152\000\125\000\246\001\147\000\061\000\148\000\060\000\
\\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\006\000\043\001\007\000\253\001\008\000\159\001\009\000\041\001\
\\010\000\040\001\011\000\039\001\012\000\038\001\013\000\037\001\
\\014\000\087\000\016\000\036\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\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\117\000\046\000\116\000\051\000\115\000\055\000\114\000\
\\063\000\111\000\065\000\110\000\066\000\003\002\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\080\000\007\002\
\\148\000\089\001\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\080\000\008\002\
\\148\000\089\001\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\009\002\
\\139\000\123\000\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\115\001\
\\113\000\160\000\117\000\159\000\118\000\013\002\147\000\061\000\
\\148\000\060\000\149\000\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\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\019\002\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\080\000\228\001\
\\146\000\020\002\148\000\089\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\085\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\142\000\046\000\141\000\051\000\140\000\055\000\139\000\
\\077\000\136\000\085\000\133\000\089\000\132\000\090\000\131\000\
\\091\000\130\000\092\000\129\000\093\000\128\000\094\000\127\000\
\\095\000\126\000\096\000\022\002\139\000\123\000\147\000\061\000\
\\148\000\060\000\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\188\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\185\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\036\000\183\000\
\\037\000\182\000\046\000\181\000\049\000\180\000\050\000\179\000\
\\051\000\178\000\052\000\177\000\053\000\176\000\054\000\175\000\
\\056\000\174\000\101\000\171\000\102\000\170\000\103\000\169\000\
\\104\000\168\000\105\000\167\000\106\000\166\000\107\000\165\000\
\\108\000\164\000\110\000\163\000\111\000\162\000\112\000\161\000\
\\113\000\160\000\117\000\159\000\118\000\158\000\119\000\157\000\
\\120\000\156\000\121\000\155\000\122\000\154\000\123\000\153\000\
\\124\000\152\000\125\000\023\002\147\000\061\000\148\000\060\000\
\\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\060\001\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\187\000\026\000\080\000\027\000\186\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\184\000\033\000\073\000\034\000\072\000\141\000\024\002\
\\147\000\061\000\148\000\060\000\149\000\059\000\000\000\
\\009\000\090\000\011\000\089\000\012\000\088\000\014\000\087\000\
\\019\000\086\000\020\000\226\000\022\000\084\000\023\000\083\000\
\\024\000\082\000\025\000\081\000\026\000\080\000\027\000\079\000\
\\028\000\078\000\029\000\077\000\030\000\076\000\031\000\075\000\
\\032\000\074\000\033\000\073\000\034\000\072\000\035\000\071\000\
\\039\000\070\000\042\000\069\000\043\000\068\000\044\000\067\000\
\\045\000\065\001\143\000\025\002\147\000\061\000\148\000\060\000\
\\149\000\059\000\000\000\
\\000\000\
\\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\080\000\028\002\
\\145\000\027\002\148\000\089\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\079\000\033\002\
\\080\000\032\002\081\000\092\001\148\000\089\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\009\000\097\001\011\000\096\001\047\000\095\001\078\000\185\001\
\\080\000\036\002\148\000\089\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\"
val numstates = 550
val numrules = 296
val s = Unsynchronized.ref "" and index = Unsynchronized.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 = int
type arg = string
structure MlyValue = 
struct
datatype svalue = VOID | ntVOID of unit
 | DOLLAR_DOLLAR_WORD of  (string) | DOLLAR_WORD of  (string)
 | DISTINCT_OBJECT of  (string) | COMMENT of  (string)
 | LOWER_WORD of  (string) | UPPER_WORD of  (string)
 | SINGLE_QUOTED of  (string) | DOT_DECIMAL of  (string)
 | UNSIGNED_INTEGER of  (string) | SIGNED_INTEGER of  (string)
 | RATIONAL of  (string) | REAL of  (string)
 | atomic_system_word of  (string) | atomic_defined_word of  (string)
 | let_term of  (tptp_term) | tff_type_arguments of  (tptp_type list)
 | tff_monotype of  (tptp_type) | tff_quantified_type of  (tptp_type)
 | tff_let_formula_binding of  (tptp_formula)
 | tff_let_formula_defn of  (tptp_let)
 | tff_let_term_binding of  (tptp_term)
 | tff_let_term_defn of  (tptp_let) | tff_let of  (tptp_formula)
 | thf_let_formula_defn of  (tptp_let)
 | thf_let_term_defn of  (tptp_let) | tptp of  (tptp_problem)
 | tptp_file of  (tptp_problem) | tptp_input of  (tptp_line)
 | include_ of  (tptp_line) | annotated_formula of  (tptp_line)
 | thf_annotated of  (tptp_line) | tff_annotated of  (tptp_line)
 | fof_annotated of  (tptp_line) | cnf_annotated of  (tptp_line)
 | formula_role of  (role) | thf_formula of  (tptp_formula)
 | thf_logic_formula of  (tptp_formula)
 | thf_binary_formula of  (tptp_formula)
 | thf_binary_pair of  (tptp_formula)
 | thf_binary_tuple of  (tptp_formula)
 | thf_or_formula of  (tptp_formula)
 | thf_and_formula of  (tptp_formula)
 | thf_apply_formula of  (tptp_formula)
 | thf_unitary_formula of  (tptp_formula)
 | thf_quantified_formula of  (tptp_formula)
 | thf_variable_list of  ( ( string * tptp_type option )  list)
 | thf_variable of  (string*tptp_type option)
 | thf_typed_variable of  (string*tptp_type option)
 | thf_unary_formula of  (tptp_formula)
 | thf_type_formula of  (tptp_formula*tptp_type)
 | thf_typeable_formula of  (tptp_formula)
 | thf_subtype of  (tptp_type) | thf_top_level_type of  (tptp_type)
 | thf_unitary_type of  (tptp_type) | thf_binary_type of  (tptp_type)
 | thf_mapping_type of  (tptp_type) | thf_xprod_type of  (tptp_type)
 | thf_union_type of  (tptp_type) | thf_atom of  (tptp_formula)
 | thf_let of  (tptp_formula) | thf_conditional of  (tptp_formula)
 | thf_sequent of  (tptp_formula)
 | thf_tuple_list of  (tptp_formula list)
 | thf_tuple of  (tptp_formula list) | tff_formula of  (tptp_formula)
 | tff_logic_formula of  (tptp_formula)
 | tff_binary_formula of  (tptp_formula)
 | tff_binary_nonassoc of  (tptp_formula)
 | tff_binary_assoc of  (tptp_formula)
 | tff_or_formula of  (tptp_formula)
 | tff_and_formula of  (tptp_formula)
 | tff_unitary_formula of  (tptp_formula)
 | tff_quantified_formula of  (tptp_formula)
 | tff_variable_list of  ( ( string * tptp_type option )  list)
 | tff_variable of  (string*tptp_type option)
 | tff_typed_variable of  (string*tptp_type option)
 | tff_unary_formula of  (tptp_formula)
 | tff_typed_atom of  (symbol*tptp_type option)
 | tff_untyped_atom of  (symbol*tptp_type option)
 | tff_top_level_type of  (tptp_type)
 | tff_unitary_type of  (tptp_type) | tff_atomic_type of  (tptp_type)
 | tff_mapping_type of  (tptp_type) | tff_xprod_type of  (tptp_type)
 | tff_conditional of  (tptp_formula) | tff_sequent of  (tptp_formula)
 | tff_tuple_list of  (tptp_formula list)
 | tff_tuple of  (tptp_formula list) | fof_formula of  (tptp_formula)
 | fof_logic_formula of  (tptp_formula)
 | fof_binary_formula of  (tptp_formula)
 | fof_binary_nonassoc of  (tptp_formula)
 | fof_binary_assoc of  (tptp_formula)
 | fof_or_formula of  (tptp_formula)
 | fof_and_formula of  (tptp_formula)
 | fof_unitary_formula of  (tptp_formula)
 | fof_quantified_formula of  (tptp_formula)
 | fof_variable_list of  (string list)
 | fof_unary_formula of  (tptp_formula)
 | fof_sequent of  (tptp_formula) | fof_tuple of  (tptp_formula list)
 | fof_tuple_list of  (tptp_formula list)
 | cnf_formula of  (tptp_formula) | disjunction of  (tptp_formula)
 | literal of  (tptp_formula) | thf_conn_term of  (symbol)
 | fol_infix_unary of  (tptp_formula)
 | thf_quantifier of  (quantifier) | thf_pair_connective of  (symbol)
 | thf_unary_connective of  (symbol) | fol_quantifier of  (quantifier)
 | binary_connective of  (symbol) | assoc_connective of  (symbol)
 | system_type of  (string) | defined_type of  (tptp_base_type)
 | unary_connective of  (symbol) | atomic_formula of  (tptp_formula)
 | plain_atomic_formula of  (tptp_formula)
 | defined_atomic_formula of  (tptp_formula)
 | defined_plain_formula of  (tptp_formula)
 | defined_pred of  (string) | defined_prop of  (string)
 | defined_infix_formula of  (tptp_formula)
 | defined_infix_pred of  (symbol) | infix_inequality of  (symbol)
 | infix_equality of  (symbol)
 | system_atomic_formula of  (tptp_formula)
 | conditional_term of  (tptp_term) | function_term of  (tptp_term)
 | plain_term of  (symbol*tptp_term list) | constant of  (symbol)
 | defined_term of  (tptp_term) | defined_atom of  (tptp_term)
 | defined_atomic_term of  (tptp_term)
 | defined_plain_term of  (symbol*tptp_term list)
 | defined_constant of  (symbol)
 | system_term of  (symbol*tptp_term list)
 | system_constant of  (symbol) | system_functor of  (symbol)
 | defined_functor of  (symbol) | arguments of  (tptp_term list)
 | term of  (tptp_term) | functor_ of  (symbol)
 | file_name of  (string) | useful_info of  (general_list)
 | general_function of  (general_data) | identifier of  (string)
 | integer of  (string) | formula_data of  (general_data)
 | number of  (number_kind*string) | variable_ of  (string)
 | general_data of  (general_data) | atomic_word of  (string)
 | general_term of  (general_term)
 | general_terms of  (general_term list)
 | general_list of  (general_list)
 | optional_info of  (general_term list)
 | formula_selection of  (string list) | name_list of  (string list)
 | name of  (string) | annotations of  (annotation option)
end
type svalue = MlyValue.svalue
type result = tptp_problem
end
structure EC=
struct
open LrTable
infix 5 $$
fun x $$ y = y::x
val is_keyword =
fn _ => false
val preferred_change : (term list * term listlist = 
nil
val noShift = 
fn (T 37) => true | _ => false
val showTerminal =
fn (T 0) => "AMPERSAND"
  | (T 1) => "AT_SIGN"
  | (T 2) => "CARET"
  | (T 3) => "COLON"
  | (T 4) => "COMMA"
  | (T 5) => "EQUALS"
  | (T 6) => "EXCLAMATION"
  | (T 7) => "LET"
  | (T 8) => "ARROW"
  | (T 9) => "FI"
  | (T 10) => "IFF"
  | (T 11) => "IMPLIES"
  | (T 12) => "INCLUDE"
  | (T 13) => "LAMBDA"
  | (T 14) => "LBRKT"
  | (T 15) => "LPAREN"
  | (T 16) => "MAP_TO"
  | (T 17) => "MMINUS"
  | (T 18) => "NAND"
  | (T 19) => "NEQUALS"
  | (T 20) => "XOR"
  | (T 21) => "NOR"
  | (T 22) => "PERIOD"
  | (T 23) => "PPLUS"
  | (T 24) => "QUESTION"
  | (T 25) => "RBRKT"
  | (T 26) => "RPAREN"
  | (T 27) => "TILDE"
  | (T 28) => "TOK_FALSE"
  | (T 29) => "TOK_I"
  | (T 30) => "TOK_O"
  | (T 31) => "TOK_INT"
  | (T 32) => "TOK_REAL"
  | (T 33) => "TOK_RAT"
  | (T 34) => "TOK_TRUE"
  | (T 35) => "TOK_TYPE"
  | (T 36) => "VLINE"
  | (T 37) => "EOF"
  | (T 38) => "DTHF"
  | (T 39) => "DFOF"
  | (T 40) => "DCNF"
  | (T 41) => "DFOT"
  | (T 42) => "DTFF"
  | (T 43) => "REAL"
  | (T 44) => "RATIONAL"
  | (T 45) => "SIGNED_INTEGER"
  | (T 46) => "UNSIGNED_INTEGER"
  | (T 47) => "DOT_DECIMAL"
  | (T 48) => "SINGLE_QUOTED"
  | (T 49) => "UPPER_WORD"
  | (T 50) => "LOWER_WORD"
  | (T 51) => "COMMENT"
  | (T 52) => "DISTINCT_OBJECT"
  | (T 53) => "DUD"
  | (T 54) => "INDEF_CHOICE"
  | (T 55) => "DEFIN_CHOICE"
  | (T 56) => "OPERATOR_FORALL"
  | (T 57) => "OPERATOR_EXISTS"
  | (T 58) => "PLUS"
  | (T 59) => "TIMES"
  | (T 60) => "GENTZEN_ARROW"
  | (T 61) => "DEP_SUM"
  | (T 62) => "DEP_PROD"
  | (T 63) => "DOLLAR_WORD"
  | (T 64) => "DOLLAR_DOLLAR_WORD"
  | (T 65) => "SUBTYPE"
  | (T 66) => "LET_TERM"
  | (T 67) => "THF"
  | (T 68) => "TFF"
  | (T 69) => "FOF"
  | (T 70) => "CNF"
  | (T 71) => "ITE_F"
  | (T 72) => "ITE_T"
  | (T 73) => "LET_TF"
  | (T 74) => "LET_FF"
  | (T 75) => "LET_FT"
  | (T 76) => "LET_TT"
  | _ => "bogus-term"
local open Header in
val errtermvalue=
fn _ => MlyValue.VOID
end
val terms : term list = nil
 $$ (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 62) $$ (T 61)
 $$ (T 60) $$ (T 59) $$ (T 58) $$ (T 57) $$ (T 56) $$ (T 55) $$ (T 54)
 $$ (T 53) $$ (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) $$ (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,
    (this_file_name):arg) =>
case (i392,stack)
of  ( 0, ( ( _, ( MlyValue.tptp_file tptp_file, tptp_file1left, 
tptp_file1right)) :: rest671)) => let val  result = MlyValue.tptp (
( tptp_file ))
 in ( LrTable.NT 135, ( result, tptp_file1left, tptp_file1right), 
rest671)
end
|  ( 1, ( ( _, ( MlyValue.tptp_file tptp_file, _, tptp_file1right)) ::
 ( _, ( MlyValue.tptp_input tptp_input, tptp_input1left, _)) :: 
rest671)) => let val  result = MlyValue.tptp_file (
( tptp_input :: tptp_file ))
 in ( LrTable.NT 134, ( result, tptp_input1left, tptp_file1right), 
rest671)
end
|  ( 2, ( ( _, ( MlyValue.tptp_file tptp_file, _, tptp_file1right)) ::
 ( _, ( _, COMMENT1left, _)) :: rest671)) => let val  result = 
MlyValue.tptp_file (( tptp_file ))
 in ( LrTable.NT 134, ( result, COMMENT1left, tptp_file1right), 
rest671)
end
|  ( 3, ( rest671)) => let val  result = MlyValue.tptp_file (( [] ))
 in ( LrTable.NT 134, ( result, defaultPos, defaultPos), rest671)
end
|  ( 4, ( ( _, ( MlyValue.annotated_formula annotated_formula, 
annotated_formula1left, annotated_formula1right)) :: rest671)) => let
 val  result = MlyValue.tptp_input (( annotated_formula ))
 in ( LrTable.NT 133, ( result, annotated_formula1left, 
annotated_formula1right), rest671)
end
|  ( 5, ( ( _, ( MlyValue.include_ include_, include_1left, 
include_1right)) :: rest671)) => let val  result = MlyValue.tptp_input
 (( include_ ))
 in ( LrTable.NT 133, ( result, include_1left, include_1right), 
rest671)
end
|  ( 6, ( ( _, ( MlyValue.thf_annotated thf_annotated, 
thf_annotated1left, thf_annotated1right)) :: rest671)) => let val  
result = MlyValue.annotated_formula (( thf_annotated ))
 in ( LrTable.NT 131, ( result, thf_annotated1left, 
thf_annotated1right), rest671)
end
|  ( 7, ( ( _, ( MlyValue.tff_annotated tff_annotated, 
tff_annotated1left, tff_annotated1right)) :: rest671)) => let val  
result = MlyValue.annotated_formula (( tff_annotated ))
 in ( LrTable.NT 131, ( result, tff_annotated1left, 
tff_annotated1right), rest671)
end
|  ( 8, ( ( _, ( MlyValue.fof_annotated fof_annotated, 
fof_annotated1left, fof_annotated1right)) :: rest671)) => let val  
result = MlyValue.annotated_formula (( fof_annotated ))
 in ( LrTable.NT 131, ( result, fof_annotated1left, 
fof_annotated1right), rest671)
end
|  ( 9, ( ( _, ( MlyValue.cnf_annotated cnf_annotated, 
cnf_annotated1left, cnf_annotated1right)) :: rest671)) => let val  
result = MlyValue.annotated_formula (( cnf_annotated ))
 in ( LrTable.NT 131, ( result, cnf_annotated1left, 
cnf_annotated1right), rest671)
end
|  ( 10, ( ( _, ( _, _, PERIOD1right)) :: _ :: ( _, ( 
MlyValue.annotations annotations, _, _)) :: ( _, ( 
MlyValue.thf_formula thf_formula, _, _)) :: _ :: ( _, ( 
MlyValue.formula_role formula_role, _, _)) :: _ :: ( _, ( 
MlyValue.name name, _, _)) :: _ :: ( _, ( _, (THFleft as THF1left), 
THFright)) :: rest671)) => let val  result = MlyValue.thf_annotated (
(
  Annotated_Formula ((this_file_name, THFleft + 1, THFright + 1),
   THF, name, formula_role, thf_formula, annotations)
)
)
 in ( LrTable.NT 130, ( result, THF1left, PERIOD1right), rest671)
end
|  ( 11, ( ( _, ( _, _, PERIOD1right)) :: _ :: ( _, ( 
MlyValue.annotations annotations, _, _)) :: ( _, ( 
MlyValue.tff_formula tff_formula, _, _)) :: _ :: ( _, ( 
MlyValue.formula_role formula_role, _, _)) :: _ :: ( _, ( 
MlyValue.name name, _, _)) :: _ :: ( _, ( _, (TFFleft as TFF1left), 
TFFright)) :: rest671)) => let val  result = MlyValue.tff_annotated (
(
  Annotated_Formula ((this_file_name, TFFleft + 1, TFFright + 1),
   TFF, name, formula_role, tff_formula, annotations)
)
)
 in ( LrTable.NT 129, ( result, TFF1left, PERIOD1right), rest671)
end
|  ( 12, ( ( _, ( _, _, PERIOD1right)) :: _ :: ( _, ( 
MlyValue.annotations annotations, _, _)) :: ( _, ( 
MlyValue.fof_formula fof_formula, _, _)) :: _ :: ( _, ( 
MlyValue.formula_role formula_role, _, _)) :: _ :: ( _, ( 
MlyValue.name name, _, _)) :: _ :: ( _, ( _, (FOFleft as FOF1left), 
FOFright)) :: rest671)) => let val  result = MlyValue.fof_annotated (
(
  Annotated_Formula ((this_file_name, FOFleft + 1, FOFright + 1),
   FOF, name, formula_role, fof_formula, annotations)
)
)
 in ( LrTable.NT 128, ( result, FOF1left, PERIOD1right), rest671)
end
|  ( 13, ( ( _, ( _, _, PERIOD1right)) :: _ :: ( _, ( 
MlyValue.annotations annotations, _, _)) :: ( _, ( 
MlyValue.cnf_formula cnf_formula, _, _)) :: _ :: ( _, ( 
MlyValue.formula_role formula_role, _, _)) :: _ :: ( _, ( 
MlyValue.name name, _, _)) :: _ :: ( _, ( _, (CNFleft as CNF1left), 
CNFright)) :: rest671)) => let val  result = MlyValue.cnf_annotated (
(
  Annotated_Formula ((this_file_name, CNFleft + 1, CNFright + 1),
   CNF, name, formula_role, cnf_formula, annotations)
)
)
 in ( LrTable.NT 127, ( result, CNF1left, PERIOD1right), rest671)
end
|  ( 14, ( ( _, ( MlyValue.optional_info optional_info, _, 
optional_info1right)) :: ( _, ( MlyValue.general_term general_term, _,
 _)) :: ( _, ( _, COMMA1left, _)) :: rest671)) => let val  result = 
MlyValue.annotations (( SOME (general_term, optional_info) ))
 in ( LrTable.NT 0, ( result, COMMA1left, optional_info1right), 
rest671)
end
|  ( 15, ( rest671)) => let val  result = MlyValue.annotations (
( NONE ))
 in ( LrTable.NT 0, ( result, defaultPos, defaultPos), rest671)
end
|  ( 16, ( ( _, ( MlyValue.LOWER_WORD LOWER_WORD, LOWER_WORD1left, 
LOWER_WORD1right)) :: rest671)) => let val  result = 
MlyValue.formula_role (( classify_role LOWER_WORD ))
 in ( LrTable.NT 126, ( result, LOWER_WORD1left, LOWER_WORD1right), 
rest671)
end
|  ( 17, ( ( _, ( MlyValue.thf_logic_formula thf_logic_formula, 
thf_logic_formula1left, thf_logic_formula1right)) :: rest671)) => let
 val  result = MlyValue.thf_formula (( thf_logic_formula ))
 in ( LrTable.NT 125, ( result, thf_logic_formula1left, 
thf_logic_formula1right), rest671)
end
|  ( 18, ( ( _, ( MlyValue.thf_sequent thf_sequent, thf_sequent1left, 
thf_sequent1right)) :: rest671)) => let val  result = 
MlyValue.thf_formula (( thf_sequent ))
 in ( LrTable.NT 125, ( result, thf_sequent1left, thf_sequent1right), 
rest671)
end
|  ( 19, ( ( _, ( MlyValue.thf_binary_formula thf_binary_formula, 
thf_binary_formula1left, thf_binary_formula1right)) :: rest671)) =>
 let val  result = MlyValue.thf_logic_formula (( thf_binary_formula ))
 in ( LrTable.NT 124, ( result, thf_binary_formula1left, 
thf_binary_formula1right), rest671)
end
|  ( 20, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula, 
thf_unitary_formula1left, thf_unitary_formula1right)) :: rest671)) =>
 let val  result = MlyValue.thf_logic_formula (( thf_unitary_formula )
)
 in ( LrTable.NT 124, ( result, thf_unitary_formula1left, 
thf_unitary_formula1right), rest671)
end
|  ( 21, ( ( _, ( MlyValue.thf_type_formula thf_type_formula, 
thf_type_formula1left, thf_type_formula1right)) :: rest671)) => let
 val  result = MlyValue.thf_logic_formula (
( THF_typing thf_type_formula ))
 in ( LrTable.NT 124, ( result, thf_type_formula1left, 
thf_type_formula1right), rest671)
end
|  ( 22, ( ( _, ( MlyValue.thf_subtype thf_subtype, thf_subtype1left, 
thf_subtype1right)) :: rest671)) => let val  result = 
MlyValue.thf_logic_formula (( Type_fmla thf_subtype ))
 in ( LrTable.NT 124, ( result, thf_subtype1left, thf_subtype1right), 
rest671)
end
|  ( 23, ( ( _, ( MlyValue.thf_binary_pair thf_binary_pair, 
thf_binary_pair1left, thf_binary_pair1right)) :: rest671)) => let val 
 result = MlyValue.thf_binary_formula (( thf_binary_pair ))
 in ( LrTable.NT 123, ( result, thf_binary_pair1left, 
thf_binary_pair1right), rest671)
end
|  ( 24, ( ( _, ( MlyValue.thf_binary_tuple thf_binary_tuple, 
thf_binary_tuple1left, thf_binary_tuple1right)) :: rest671)) => let
 val  result = MlyValue.thf_binary_formula (( thf_binary_tuple ))
 in ( LrTable.NT 123, ( result, thf_binary_tuple1left, 
thf_binary_tuple1right), rest671)
end
|  ( 25, ( ( _, ( MlyValue.thf_binary_type thf_binary_type, 
thf_binary_type1left, thf_binary_type1right)) :: rest671)) => let val 
 result = MlyValue.thf_binary_formula (( Type_fmla thf_binary_type ))
 in ( LrTable.NT 123, ( result, thf_binary_type1left, 
thf_binary_type1right), rest671)
end
|  ( 26, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula2, _
, thf_unitary_formula2right)) :: ( _, ( MlyValue.thf_pair_connective 
thf_pair_connective, _, _)) :: ( _, ( MlyValue.thf_unitary_formula 
thf_unitary_formula1, thf_unitary_formula1left, _)) :: rest671)) =>
 let val  result = MlyValue.thf_binary_pair (
(
  Fmla (thf_pair_connective, [thf_unitary_formula1, thf_unitary_formula2])
)
)
 in ( LrTable.NT 122, ( result, thf_unitary_formula1left, 
thf_unitary_formula2right), rest671)
end
|  ( 27, ( ( _, ( MlyValue.thf_or_formula thf_or_formula, 
thf_or_formula1left, thf_or_formula1right)) :: rest671)) => let val  
result = MlyValue.thf_binary_tuple (( thf_or_formula ))
 in ( LrTable.NT 121, ( result, thf_or_formula1left, 
thf_or_formula1right), rest671)
end
|  ( 28, ( ( _, ( MlyValue.thf_and_formula thf_and_formula, 
thf_and_formula1left, thf_and_formula1right)) :: rest671)) => let val 
 result = MlyValue.thf_binary_tuple (( thf_and_formula ))
 in ( LrTable.NT 121, ( result, thf_and_formula1left, 
thf_and_formula1right), rest671)
end
|  ( 29, ( ( _, ( MlyValue.thf_apply_formula thf_apply_formula, 
thf_apply_formula1left, thf_apply_formula1right)) :: rest671)) => let
 val  result = MlyValue.thf_binary_tuple (( thf_apply_formula ))
 in ( LrTable.NT 121, ( result, thf_apply_formula1left, 
thf_apply_formula1right), rest671)
end
|  ( 30, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula2, _
, thf_unitary_formula2right)) :: _ :: ( _, ( 
MlyValue.thf_unitary_formula thf_unitary_formula1, 
thf_unitary_formula1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_or_formula (
( Fmla (Interpreted_Logic Or, [thf_unitary_formula1, thf_unitary_formula2]) )
)
 in ( LrTable.NT 120, ( result, thf_unitary_formula1left, 
thf_unitary_formula2right), rest671)
end
|  ( 31, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula, _,
 thf_unitary_formula1right)) :: _ :: ( _, ( MlyValue.thf_or_formula 
thf_or_formula, thf_or_formula1left, _)) :: rest671)) => let val  
result = MlyValue.thf_or_formula (
( Fmla (Interpreted_Logic Or, [thf_or_formula, thf_unitary_formula]) )
)
 in ( LrTable.NT 120, ( result, thf_or_formula1left, 
thf_unitary_formula1right), rest671)
end
|  ( 32, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula2, _
, thf_unitary_formula2right)) :: _ :: ( _, ( 
MlyValue.thf_unitary_formula thf_unitary_formula1, 
thf_unitary_formula1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_and_formula (
( Fmla (Interpreted_Logic And, [thf_unitary_formula1, thf_unitary_formula2]) )
)
 in ( LrTable.NT 119, ( result, thf_unitary_formula1left, 
thf_unitary_formula2right), rest671)
end
|  ( 33, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula, _,
 thf_unitary_formula1right)) :: _ :: ( _, ( MlyValue.thf_and_formula 
thf_and_formula, thf_and_formula1left, _)) :: rest671)) => let val  
result = MlyValue.thf_and_formula (
( Fmla (Interpreted_Logic And, [thf_and_formula, thf_unitary_formula]) )
)
 in ( LrTable.NT 119, ( result, thf_and_formula1left, 
thf_unitary_formula1right), rest671)
end
|  ( 34, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula2, _
, thf_unitary_formula2right)) :: _ :: ( _, ( 
MlyValue.thf_unitary_formula thf_unitary_formula1, 
thf_unitary_formula1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_apply_formula (
( Fmla (Interpreted_ExtraLogic Apply, [thf_unitary_formula1, thf_unitary_formula2]) )
)
 in ( LrTable.NT 118, ( result, thf_unitary_formula1left, 
thf_unitary_formula2right), rest671)
end
|  ( 35, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula, _,
 thf_unitary_formula1right)) :: _ :: ( _, ( MlyValue.thf_apply_formula
 thf_apply_formula, thf_apply_formula1left, _)) :: rest671)) => let
 val  result = MlyValue.thf_apply_formula (
( Fmla (Interpreted_ExtraLogic Apply, [thf_apply_formula, thf_unitary_formula]) )
)
 in ( LrTable.NT 118, ( result, thf_apply_formula1left, 
thf_unitary_formula1right), rest671)
end
|  ( 36, ( ( _, ( MlyValue.thf_quantified_formula 
thf_quantified_formula, thf_quantified_formula1left, 
thf_quantified_formula1right)) :: rest671)) => let val  result = 
MlyValue.thf_unitary_formula (( thf_quantified_formula ))
 in ( LrTable.NT 117, ( result, thf_quantified_formula1left, 
thf_quantified_formula1right), rest671)
end
|  ( 37, ( ( _, ( MlyValue.thf_unary_formula thf_unary_formula, 
thf_unary_formula1left, thf_unary_formula1right)) :: rest671)) => let
 val  result = MlyValue.thf_unitary_formula (( thf_unary_formula ))
 in ( LrTable.NT 117, ( result, thf_unary_formula1left, 
thf_unary_formula1right), rest671)
end
|  ( 38, ( ( _, ( MlyValue.thf_atom thf_atom, thf_atom1left, 
thf_atom1right)) :: rest671)) => let val  result = 
MlyValue.thf_unitary_formula (( thf_atom ))
 in ( LrTable.NT 117, ( result, thf_atom1left, thf_atom1right), 
rest671)
end
|  ( 39, ( ( _, ( MlyValue.thf_conditional thf_conditional, 
thf_conditional1left, thf_conditional1right)) :: rest671)) => let val 
 result = MlyValue.thf_unitary_formula (( thf_conditional ))
 in ( LrTable.NT 117, ( result, thf_conditional1left, 
thf_conditional1right), rest671)
end
|  ( 40, ( ( _, ( MlyValue.thf_let thf_let, thf_let1left, 
thf_let1right)) :: rest671)) => let val  result = 
MlyValue.thf_unitary_formula (( thf_let ))
 in ( LrTable.NT 117, ( result, thf_let1left, thf_let1right), rest671)

end
|  ( 41, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.thf_logic_formula thf_logic_formula, _, _)) :: ( _, ( _, 
LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_unitary_formula (( thf_logic_formula ))
 in ( LrTable.NT 117, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 42, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula, _,
 thf_unitary_formula1right)) :: _ :: _ :: ( _, ( 
MlyValue.thf_variable_list thf_variable_list, _, _)) :: _ :: ( _, ( 
MlyValue.thf_quantifier thf_quantifier, thf_quantifier1left, _)) :: 
rest671)) => let val  result = MlyValue.thf_quantified_formula (
(
  Quant (thf_quantifier, thf_variable_list, thf_unitary_formula)
))
 in ( LrTable.NT 116, ( result, thf_quantifier1left, 
thf_unitary_formula1right), rest671)
end
|  ( 43, ( ( _, ( MlyValue.thf_variable thf_variable, 
thf_variable1left, thf_variable1right)) :: rest671)) => let val  
result = MlyValue.thf_variable_list (( [thf_variable] ))
 in ( LrTable.NT 115, ( result, thf_variable1left, thf_variable1right)
, rest671)
end
|  ( 44, ( ( _, ( MlyValue.thf_variable_list thf_variable_list, _, 
thf_variable_list1right)) :: _ :: ( _, ( MlyValue.thf_variable 
thf_variable, thf_variable1left, _)) :: rest671)) => let val  result =
 MlyValue.thf_variable_list (( thf_variable :: thf_variable_list ))
 in ( LrTable.NT 115, ( result, thf_variable1left, 
thf_variable_list1right), rest671)
end
|  ( 45, ( ( _, ( MlyValue.thf_typed_variable thf_typed_variable, 
thf_typed_variable1left, thf_typed_variable1right)) :: rest671)) =>
 let val  result = MlyValue.thf_variable (( thf_typed_variable ))
 in ( LrTable.NT 114, ( result, thf_typed_variable1left, 
thf_typed_variable1right), rest671)
end
|  ( 46, ( ( _, ( MlyValue.variable_ variable_, variable_1left, 
variable_1right)) :: rest671)) => let val  result = 
MlyValue.thf_variable (( (variable_, NONE) ))
 in ( LrTable.NT 114, ( result, variable_1left, variable_1right), 
rest671)
end
|  ( 47, ( ( _, ( MlyValue.thf_top_level_type thf_top_level_type, _, 
thf_top_level_type1right)) :: _ :: ( _, ( MlyValue.variable_ variable_
, variable_1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_typed_variable (( (variable_, SOME thf_top_level_type) ))
 in ( LrTable.NT 113, ( result, variable_1left, 
thf_top_level_type1right), rest671)
end
|  ( 48, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.thf_logic_formula thf_logic_formula, _, _)) :: _ :: ( _, ( 
MlyValue.thf_unary_connective thf_unary_connective, 
thf_unary_connective1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_unary_formula (
(
  Fmla (thf_unary_connective, [thf_logic_formula])
))
 in ( LrTable.NT 112, ( result, thf_unary_connective1left, 
RPAREN1right), rest671)
end
|  ( 49, ( ( _, ( MlyValue.term term, term1left, term1right)) :: 
rest671)) => let val  result = MlyValue.thf_atom (
( Atom (THF_Atom_term term) ))
 in ( LrTable.NT 102, ( result, term1left, term1right), rest671)
end
|  ( 50, ( ( _, ( MlyValue.thf_conn_term thf_conn_term, 
thf_conn_term1left, thf_conn_term1right)) :: rest671)) => let val  
result = MlyValue.thf_atom (
( Atom (THF_Atom_conn_term thf_conn_term) ))
 in ( LrTable.NT 102, ( result, thf_conn_term1left, 
thf_conn_term1right), rest671)
end
|  ( 51, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.thf_logic_formula thf_logic_formula3, _, _)) :: _ :: ( _, ( 
MlyValue.thf_logic_formula thf_logic_formula2, _, _)) :: _ :: ( _, ( 
MlyValue.thf_logic_formula thf_logic_formula1, _, _)) :: _ :: ( _, ( _
, ITE_F1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_conditional (
(
  Conditional (thf_logic_formula1, thf_logic_formula2, thf_logic_formula3)
)
)
 in ( LrTable.NT 100, ( result, ITE_F1left, RPAREN1right), rest671)

end
|  ( 52, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.thf_formula 
thf_formula, _, _)) :: _ :: ( _, ( MlyValue.thf_let_term_defn 
thf_let_term_defn, _, _)) :: _ :: ( _, ( _, LET_TF1left, _)) :: 
rest671)) => let val  result = MlyValue.thf_let (
Let (thf_let_term_defn, thf_formula) ))
 in ( LrTable.NT 101, ( result, LET_TF1left, RPAREN1right), rest671)

end
|  ( 53, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.thf_formula 
thf_formula, _, _)) :: _ :: ( _, ( MlyValue.thf_let_formula_defn 
thf_let_formula_defn, _, _)) :: _ :: ( _, ( _, LET_FF1left, _)) :: 
rest671)) => let val  result = MlyValue.thf_let (
Let (thf_let_formula_defn, thf_formula) ))
 in ( LrTable.NT 101, ( result, LET_FF1left, RPAREN1right), rest671)

end
|  ( 54, ( ( _, ( MlyValue.thf_quantified_formula 
thf_quantified_formula, thf_quantified_formula1left, 
thf_quantified_formula1right)) :: rest671)) => let val  result = 
MlyValue.thf_let_term_defn (
(
  let
    val (_, vars, fmla) = extract_quant_info thf_quantified_formula
  in Let_fmla (vars, fmla)
  end
)
)
 in ( LrTable.NT 136, ( result, thf_quantified_formula1left, 
thf_quantified_formula1right), rest671)
end
|  ( 55, ( ( _, ( MlyValue.thf_quantified_formula 
thf_quantified_formula, thf_quantified_formula1left, 
thf_quantified_formula1right)) :: rest671)) => let val  result = 
MlyValue.thf_let_formula_defn (
(
  let
    val (_, vars, fmla) = extract_quant_info thf_quantified_formula
  in Let_fmla (vars, fmla)
  end
)
)
 in ( LrTable.NT 137, ( result, thf_quantified_formula1left, 
thf_quantified_formula1right), rest671)
end
|  ( 56, ( ( _, ( MlyValue.thf_top_level_type thf_top_level_type, _, 
thf_top_level_type1right)) :: _ :: ( _, ( 
MlyValue.thf_typeable_formula thf_typeable_formula, 
thf_typeable_formula1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_type_formula (
( (thf_typeable_formula, thf_top_level_type) ))
 in ( LrTable.NT 111, ( result, thf_typeable_formula1left, 
thf_top_level_type1right), rest671)
end
|  ( 57, ( ( _, ( MlyValue.thf_atom thf_atom, thf_atom1left, 
thf_atom1right)) :: rest671)) => let val  result = 
MlyValue.thf_typeable_formula (( thf_atom ))
 in ( LrTable.NT 110, ( result, thf_atom1left, thf_atom1right), 
rest671)
end
|  ( 58, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.thf_logic_formula thf_logic_formula, _, _)) :: ( _, ( _, 
LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.thf_typeable_formula (( thf_logic_formula ))
 in ( LrTable.NT 110, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 59, ( ( _, ( MlyValue.constant constant2, _, constant2right)) ::
 _ :: ( _, ( MlyValue.constant constant1, constant1left, _)) :: 
rest671)) => let val  result = MlyValue.thf_subtype (
( Subtype(constant1, constant2) ))
 in ( LrTable.NT 109, ( result, constant1left, constant2right), 
rest671)
end
|  ( 60, ( ( _, ( MlyValue.thf_logic_formula thf_logic_formula, 
thf_logic_formula1left, thf_logic_formula1right)) :: rest671)) => let
 val  result = MlyValue.thf_top_level_type (
( Fmla_type thf_logic_formula ))
 in ( LrTable.NT 108, ( result, thf_logic_formula1left, 
thf_logic_formula1right), rest671)
end
|  ( 61, ( ( _, ( MlyValue.thf_unitary_formula thf_unitary_formula, 
thf_unitary_formula1left, thf_unitary_formula1right)) :: rest671)) =>
 let val  result = MlyValue.thf_unitary_type (
( Fmla_type thf_unitary_formula ))
 in ( LrTable.NT 107, ( result, thf_unitary_formula1left, 
thf_unitary_formula1right), rest671)
end
|  ( 62, ( ( _, ( MlyValue.thf_mapping_type thf_mapping_type, 
thf_mapping_type1left, thf_mapping_type1right)) :: rest671)) => let
 val  result = MlyValue.thf_binary_type (( thf_mapping_type ))
 in ( LrTable.NT 106, ( result, thf_mapping_type1left, 
thf_mapping_type1right), rest671)
end
|  ( 63, ( ( _, ( MlyValue.thf_xprod_type thf_xprod_type, 
thf_xprod_type1left, thf_xprod_type1right)) :: rest671)) => let val  
result = MlyValue.thf_binary_type (( thf_xprod_type ))
 in ( LrTable.NT 106, ( result, thf_xprod_type1left, 
thf_xprod_type1right), rest671)
end
|  ( 64, ( ( _, ( MlyValue.thf_union_type thf_union_type, 
thf_union_type1left, thf_union_type1right)) :: rest671)) => let val  
result = MlyValue.thf_binary_type (( thf_union_type ))
 in ( LrTable.NT 106, ( result, thf_union_type1left, 
thf_union_type1right), rest671)
end
|  ( 65, ( ( _, ( MlyValue.thf_unitary_type thf_unitary_type2, _, 
thf_unitary_type2right)) :: _ :: ( _, ( MlyValue.thf_unitary_type 
thf_unitary_type1, thf_unitary_type1left, _)) :: rest671)) => let val 
 result = MlyValue.thf_mapping_type (
( Fn_type(thf_unitary_type1, thf_unitary_type2) ))
 in ( LrTable.NT 105, ( result, thf_unitary_type1left, 
thf_unitary_type2right), rest671)
end
|  ( 66, ( ( _, ( MlyValue.thf_mapping_type thf_mapping_type, _, 
thf_mapping_type1right)) :: _ :: ( _, ( MlyValue.thf_unitary_type 
thf_unitary_type, thf_unitary_type1left, _)) :: rest671)) => let val  
result = MlyValue.thf_mapping_type (
( Fn_type(thf_unitary_type, thf_mapping_type) ))
 in ( LrTable.NT 105, ( result, thf_unitary_type1left, 
thf_mapping_type1right), rest671)
end
|  ( 67, ( ( _, ( MlyValue.thf_unitary_type thf_unitary_type2, _, 
thf_unitary_type2right)) :: _ :: ( _, ( MlyValue.thf_unitary_type 
thf_unitary_type1, thf_unitary_type1left, _)) :: rest671)) => let val 
 result = MlyValue.thf_xprod_type (
( Prod_type(thf_unitary_type1, thf_unitary_type2) ))
 in ( LrTable.NT 104, ( result, thf_unitary_type1left, 
thf_unitary_type2right), rest671)
end
|  ( 68, ( ( _, ( MlyValue.thf_unitary_type thf_unitary_type, _, 
thf_unitary_type1right)) :: _ :: ( _, ( MlyValue.thf_xprod_type 
thf_xprod_type, thf_xprod_type1left, _)) :: rest671)) => let val  
result = MlyValue.thf_xprod_type (
( Prod_type(thf_xprod_type, thf_unitary_type) ))
 in ( LrTable.NT 104, ( result, thf_xprod_type1left, 
thf_unitary_type1right), rest671)
end
|  ( 69, ( ( _, ( MlyValue.thf_unitary_type thf_unitary_type2, _, 
thf_unitary_type2right)) :: _ :: ( _, ( MlyValue.thf_unitary_type 
thf_unitary_type1, thf_unitary_type1left, _)) :: rest671)) => let val 
 result = MlyValue.thf_union_type (
( Sum_type(thf_unitary_type1, thf_unitary_type2) ))
 in ( LrTable.NT 103, ( result, thf_unitary_type1left, 
thf_unitary_type2right), rest671)
end
|  ( 70, ( ( _, ( MlyValue.thf_unitary_type thf_unitary_type, _, 
thf_unitary_type1right)) :: _ :: ( _, ( MlyValue.thf_union_type 
thf_union_type, thf_union_type1left, _)) :: rest671)) => let val  
result = MlyValue.thf_union_type (
( Sum_type(thf_union_type, thf_unitary_type) ))
 in ( LrTable.NT 103, ( result, thf_union_type1left, 
thf_unitary_type1right), rest671)
end
|  ( 71, ( ( _, ( MlyValue.thf_tuple thf_tuple2, _, thf_tuple2right))
 :: _ :: ( _, ( MlyValue.thf_tuple thf_tuple1, thf_tuple1left, _)) :: 
rest671)) => let val  result = MlyValue.thf_sequent (
( Sequent(thf_tuple1, thf_tuple2) ))
 in ( LrTable.NT 99, ( result, thf_tuple1left, thf_tuple2right), 
rest671)
end
|  ( 72, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.thf_sequent 
thf_sequent, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let
 val  result = MlyValue.thf_sequent (( thf_sequent ))
 in ( LrTable.NT 99, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 73, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( _, LBRKT1left, _)) :: 
rest671)) => let val  result = MlyValue.thf_tuple (( [] ))
 in ( LrTable.NT 97, ( result, LBRKT1left, RBRKT1right), rest671)
end
|  ( 74, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( 
MlyValue.thf_tuple_list thf_tuple_list, _, _)) :: ( _, ( _, LBRKT1left
, _)) :: rest671)) => let val  result = MlyValue.thf_tuple (
( thf_tuple_list ))
 in ( LrTable.NT 97, ( result, LBRKT1left, RBRKT1right), rest671)
end
|  ( 75, ( ( _, ( MlyValue.thf_logic_formula thf_logic_formula, 
thf_logic_formula1left, thf_logic_formula1right)) :: rest671)) => let
 val  result = MlyValue.thf_tuple_list (( [thf_logic_formula] ))
 in ( LrTable.NT 98, ( result, thf_logic_formula1left, 
thf_logic_formula1right), rest671)
end
|  ( 76, ( ( _, ( MlyValue.thf_tuple_list thf_tuple_list, _, 
thf_tuple_list1right)) :: _ :: ( _, ( MlyValue.thf_logic_formula 
thf_logic_formula, thf_logic_formula1left, _)) :: rest671)) => let
 val  result = MlyValue.thf_tuple_list (
( thf_logic_formula :: thf_tuple_list ))
 in ( LrTable.NT 98, ( result, thf_logic_formula1left, 
thf_tuple_list1right), rest671)
end
|  ( 77, ( ( _, ( MlyValue.tff_logic_formula tff_logic_formula, 
tff_logic_formula1left, tff_logic_formula1right)) :: rest671)) => let
 val  result = MlyValue.tff_formula (( tff_logic_formula ))
 in ( LrTable.NT 96, ( result, tff_logic_formula1left, 
tff_logic_formula1right), rest671)
end
|  ( 78, ( ( _, ( MlyValue.tff_typed_atom tff_typed_atom, 
tff_typed_atom1left, tff_typed_atom1right)) :: rest671)) => let val  
result = MlyValue.tff_formula (
( Atom (TFF_Typed_Atom tff_typed_atom) ))
 in ( LrTable.NT 96, ( result, tff_typed_atom1left, 
tff_typed_atom1right), rest671)
end
|  ( 79, ( ( _, ( MlyValue.tff_sequent tff_sequent, tff_sequent1left, 
tff_sequent1right)) :: rest671)) => let val  result = 
MlyValue.tff_formula (( tff_sequent ))
 in ( LrTable.NT 96, ( result, tff_sequent1left, tff_sequent1right), 
rest671)
end
|  ( 80, ( ( _, ( MlyValue.tff_binary_formula tff_binary_formula, 
tff_binary_formula1left, tff_binary_formula1right)) :: rest671)) =>
 let val  result = MlyValue.tff_logic_formula (( tff_binary_formula ))
 in ( LrTable.NT 95, ( result, tff_binary_formula1left, 
tff_binary_formula1right), rest671)
end
|  ( 81, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula, 
tff_unitary_formula1left, tff_unitary_formula1right)) :: rest671)) =>
 let val  result = MlyValue.tff_logic_formula (( tff_unitary_formula )
)
 in ( LrTable.NT 95, ( result, tff_unitary_formula1left, 
tff_unitary_formula1right), rest671)
end
|  ( 82, ( ( _, ( MlyValue.tff_binary_nonassoc tff_binary_nonassoc, 
tff_binary_nonassoc1left, tff_binary_nonassoc1right)) :: rest671)) =>
 let val  result = MlyValue.tff_binary_formula (
( tff_binary_nonassoc ))
 in ( LrTable.NT 94, ( result, tff_binary_nonassoc1left, 
tff_binary_nonassoc1right), rest671)
end
|  ( 83, ( ( _, ( MlyValue.tff_binary_assoc tff_binary_assoc, 
tff_binary_assoc1left, tff_binary_assoc1right)) :: rest671)) => let
 val  result = MlyValue.tff_binary_formula (( tff_binary_assoc ))
 in ( LrTable.NT 94, ( result, tff_binary_assoc1left, 
tff_binary_assoc1right), rest671)
end
|  ( 84, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula2, _
, tff_unitary_formula2right)) :: ( _, ( MlyValue.binary_connective 
binary_connective, _, _)) :: ( _, ( MlyValue.tff_unitary_formula 
tff_unitary_formula1, tff_unitary_formula1left, _)) :: rest671)) =>
 let val  result = MlyValue.tff_binary_nonassoc (
( Fmla (binary_connective, [tff_unitary_formula1, tff_unitary_formula2]) )
)
 in ( LrTable.NT 93, ( result, tff_unitary_formula1left, 
tff_unitary_formula2right), rest671)
end
|  ( 85, ( ( _, ( MlyValue.tff_or_formula tff_or_formula, 
tff_or_formula1left, tff_or_formula1right)) :: rest671)) => let val  
result = MlyValue.tff_binary_assoc (( tff_or_formula ))
 in ( LrTable.NT 92, ( result, tff_or_formula1left, 
tff_or_formula1right), rest671)
end
|  ( 86, ( ( _, ( MlyValue.tff_and_formula tff_and_formula, 
tff_and_formula1left, tff_and_formula1right)) :: rest671)) => let val 
 result = MlyValue.tff_binary_assoc (( tff_and_formula ))
 in ( LrTable.NT 92, ( result, tff_and_formula1left, 
tff_and_formula1right), rest671)
end
|  ( 87, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula2, _
, tff_unitary_formula2right)) :: _ :: ( _, ( 
MlyValue.tff_unitary_formula tff_unitary_formula1, 
tff_unitary_formula1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_or_formula (
( Fmla (Interpreted_Logic Or, [tff_unitary_formula1, tff_unitary_formula2]) )
)
 in ( LrTable.NT 91, ( result, tff_unitary_formula1left, 
tff_unitary_formula2right), rest671)
end
|  ( 88, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula, _,
 tff_unitary_formula1right)) :: _ :: ( _, ( MlyValue.tff_or_formula 
tff_or_formula, tff_or_formula1left, _)) :: rest671)) => let val  
result = MlyValue.tff_or_formula (
( Fmla (Interpreted_Logic Or, [tff_or_formula, tff_unitary_formula]) )
)
 in ( LrTable.NT 91, ( result, tff_or_formula1left, 
tff_unitary_formula1right), rest671)
end
|  ( 89, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula2, _
, tff_unitary_formula2right)) :: _ :: ( _, ( 
MlyValue.tff_unitary_formula tff_unitary_formula1, 
tff_unitary_formula1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_and_formula (
( Fmla (Interpreted_Logic And, [tff_unitary_formula1, tff_unitary_formula2]) )
)
 in ( LrTable.NT 90, ( result, tff_unitary_formula1left, 
tff_unitary_formula2right), rest671)
end
|  ( 90, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula, _,
 tff_unitary_formula1right)) :: _ :: ( _, ( MlyValue.tff_and_formula 
tff_and_formula, tff_and_formula1left, _)) :: rest671)) => let val  
result = MlyValue.tff_and_formula (
( Fmla (Interpreted_Logic And, [tff_and_formula, tff_unitary_formula]) )
)
 in ( LrTable.NT 90, ( result, tff_and_formula1left, 
tff_unitary_formula1right), rest671)
end
|  ( 91, ( ( _, ( MlyValue.tff_quantified_formula 
tff_quantified_formula, tff_quantified_formula1left, 
tff_quantified_formula1right)) :: rest671)) => let val  result = 
MlyValue.tff_unitary_formula (( tff_quantified_formula ))
 in ( LrTable.NT 89, ( result, tff_quantified_formula1left, 
tff_quantified_formula1right), rest671)
end
|  ( 92, ( ( _, ( MlyValue.tff_unary_formula tff_unary_formula, 
tff_unary_formula1left, tff_unary_formula1right)) :: rest671)) => let
 val  result = MlyValue.tff_unitary_formula (( tff_unary_formula ))
 in ( LrTable.NT 89, ( result, tff_unary_formula1left, 
tff_unary_formula1right), rest671)
end
|  ( 93, ( ( _, ( MlyValue.atomic_formula atomic_formula, 
atomic_formula1left, atomic_formula1right)) :: rest671)) => let val  
result = MlyValue.tff_unitary_formula (( atomic_formula ))
 in ( LrTable.NT 89, ( result, atomic_formula1left, 
atomic_formula1right), rest671)
end
|  ( 94, ( ( _, ( MlyValue.tff_conditional tff_conditional, 
tff_conditional1left, tff_conditional1right)) :: rest671)) => let val 
 result = MlyValue.tff_unitary_formula (( tff_conditional ))
 in ( LrTable.NT 89, ( result, tff_conditional1left, 
tff_conditional1right), rest671)
end
|  ( 95, ( ( _, ( MlyValue.tff_let tff_let, tff_let1left, 
tff_let1right)) :: rest671)) => let val  result = 
MlyValue.tff_unitary_formula (( tff_let ))
 in ( LrTable.NT 89, ( result, tff_let1left, tff_let1right), rest671)

end
|  ( 96, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_logic_formula tff_logic_formula, _, _)) :: ( _, ( _, 
LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_unitary_formula (( tff_logic_formula ))
 in ( LrTable.NT 89, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 97, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula, _,
 tff_unitary_formula1right)) :: _ :: _ :: ( _, ( 
MlyValue.tff_variable_list tff_variable_list, _, _)) :: _ :: ( _, ( 
MlyValue.fol_quantifier fol_quantifier, fol_quantifier1left, _)) :: 
rest671)) => let val  result = MlyValue.tff_quantified_formula (
(
  Quant (fol_quantifier, tff_variable_list, tff_unitary_formula)
))
 in ( LrTable.NT 88, ( result, fol_quantifier1left, 
tff_unitary_formula1right), rest671)
end
|  ( 98, ( ( _, ( MlyValue.tff_variable tff_variable, 
tff_variable1left, tff_variable1right)) :: rest671)) => let val  
result = MlyValue.tff_variable_list (( [tff_variable] ))
 in ( LrTable.NT 87, ( result, tff_variable1left, tff_variable1right),
 rest671)
end
|  ( 99, ( ( _, ( MlyValue.tff_variable_list tff_variable_list, _, 
tff_variable_list1right)) :: _ :: ( _, ( MlyValue.tff_variable 
tff_variable, tff_variable1left, _)) :: rest671)) => let val  result =
 MlyValue.tff_variable_list (( tff_variable :: tff_variable_list ))
 in ( LrTable.NT 87, ( result, tff_variable1left, 
tff_variable_list1right), rest671)
end
|  ( 100, ( ( _, ( MlyValue.tff_typed_variable tff_typed_variable, 
tff_typed_variable1left, tff_typed_variable1right)) :: rest671)) =>
 let val  result = MlyValue.tff_variable (( tff_typed_variable ))
 in ( LrTable.NT 86, ( result, tff_typed_variable1left, 
tff_typed_variable1right), rest671)
end
|  ( 101, ( ( _, ( MlyValue.variable_ variable_, variable_1left, 
variable_1right)) :: rest671)) => let val  result = 
MlyValue.tff_variable (( (variable_, NONE) ))
 in ( LrTable.NT 86, ( result, variable_1left, variable_1right), 
rest671)
end
|  ( 102, ( ( _, ( MlyValue.tff_atomic_type tff_atomic_type, _, 
tff_atomic_type1right)) :: _ :: ( _, ( MlyValue.variable_ variable_, 
variable_1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_typed_variable (( (variable_, SOME tff_atomic_type) ))
 in ( LrTable.NT 85, ( result, variable_1left, tff_atomic_type1right),
 rest671)
end
|  ( 103, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula, _
, tff_unitary_formula1right)) :: ( _, ( MlyValue.unary_connective 
unary_connective, unary_connective1left, _)) :: rest671)) => let val  
result = MlyValue.tff_unary_formula (
( Fmla (unary_connective, [tff_unitary_formula]) ))
 in ( LrTable.NT 84, ( result, unary_connective1left, 
tff_unitary_formula1right), rest671)
end
|  ( 104, ( ( _, ( MlyValue.fol_infix_unary fol_infix_unary, 
fol_infix_unary1left, fol_infix_unary1right)) :: rest671)) => let val 
 result = MlyValue.tff_unary_formula (( fol_infix_unary ))
 in ( LrTable.NT 84, ( result, fol_infix_unary1left, 
fol_infix_unary1right), rest671)
end
|  ( 105, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_logic_formula tff_logic_formula3, _, _)) :: _ :: ( _, ( 
MlyValue.tff_logic_formula tff_logic_formula2, _, _)) :: _ :: ( _, ( 
MlyValue.tff_logic_formula tff_logic_formula1, _, _)) :: _ :: ( _, ( _
, ITE_F1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_conditional (
(
  Conditional (tff_logic_formula1, tff_logic_formula2, tff_logic_formula3)
)
)
 in ( LrTable.NT 76, ( result, ITE_F1left, RPAREN1right), rest671)
end
|  ( 106, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.tff_formula
 tff_formula, _, _)) :: _ :: ( _, ( MlyValue.tff_let_term_defn 
tff_let_term_defn, _, _)) :: _ :: ( _, ( _, LET_TF1left, _)) :: 
rest671)) => let val  result = MlyValue.tff_let (
(Let (tff_let_term_defn, tff_formula) ))
 in ( LrTable.NT 138, ( result, LET_TF1left, RPAREN1right), rest671)

end
|  ( 107, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.tff_formula
 tff_formula, _, _)) :: _ :: ( _, ( MlyValue.tff_let_formula_defn 
tff_let_formula_defn, _, _)) :: _ :: ( _, ( _, LET_FF1left, _)) :: 
rest671)) => let val  result = MlyValue.tff_let (
Let (tff_let_formula_defn, tff_formula) ))
 in ( LrTable.NT 138, ( result, LET_FF1left, RPAREN1right), rest671)

end
|  ( 108, ( ( _, ( MlyValue.tff_let_term_binding tff_let_term_binding,
 _, tff_let_term_binding1right)) :: _ :: _ :: ( _, ( 
MlyValue.tff_variable_list tff_variable_list, _, _)) :: _ :: ( _, ( _,
 EXCLAMATION1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_let_term_defn (
( Let_term (tff_variable_list, tff_let_term_binding) ))
 in ( LrTable.NT 139, ( result, EXCLAMATION1left, 
tff_let_term_binding1right), rest671)
end
|  ( 109, ( ( _, ( MlyValue.tff_let_term_binding tff_let_term_binding,
 tff_let_term_binding1left, tff_let_term_binding1right)) :: rest671))
 => let val  result = MlyValue.tff_let_term_defn (
( Let_term ([], tff_let_term_binding) ))
 in ( LrTable.NT 139, ( result, tff_let_term_binding1left, 
tff_let_term_binding1right), rest671)
end
|  ( 110, ( ( _, ( MlyValue.term term2, _, term2right)) :: _ :: ( _, (
 MlyValue.term term1, term1left, _)) :: rest671)) => let val  result =
 MlyValue.tff_let_term_binding (
( Term_Func (Interpreted_ExtraLogic Apply, [term1, term2]) ))
 in ( LrTable.NT 140, ( result, term1left, term2right), rest671)
end
|  ( 111, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_let_term_binding tff_let_term_binding, _, _)) :: ( _, ( _
, LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_let_term_binding (( tff_let_term_binding ))
 in ( LrTable.NT 140, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 112, ( ( _, ( MlyValue.tff_let_formula_binding 
tff_let_formula_binding, _, tff_let_formula_binding1right)) :: _ :: _
 :: ( _, ( MlyValue.tff_variable_list tff_variable_list, _, _)) :: _
 :: ( _, ( _, EXCLAMATION1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_let_formula_defn (
( Let_fmla (tff_variable_list, tff_let_formula_binding) ))
 in ( LrTable.NT 141, ( result, EXCLAMATION1left, 
tff_let_formula_binding1right), rest671)
end
|  ( 113, ( ( _, ( MlyValue.tff_let_formula_binding 
tff_let_formula_binding, tff_let_formula_binding1left, 
tff_let_formula_binding1right)) :: rest671)) => let val  result = 
MlyValue.tff_let_formula_defn (
( Let_fmla ([], tff_let_formula_binding) ))
 in ( LrTable.NT 141, ( result, tff_let_formula_binding1left, 
tff_let_formula_binding1right), rest671)
end
|  ( 114, ( ( _, ( MlyValue.tff_unitary_formula tff_unitary_formula, _
, tff_unitary_formula1right)) :: _ :: ( _, ( MlyValue.atomic_formula 
atomic_formula, atomic_formula1left, _)) :: rest671)) => let val  
result = MlyValue.tff_let_formula_binding (
( Fmla (Interpreted_Logic Iff, [atomic_formula, tff_unitary_formula]) )
)
 in ( LrTable.NT 142, ( result, atomic_formula1left, 
tff_unitary_formula1right), rest671)
end
|  ( 115, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_let_formula_binding tff_let_formula_binding, _, _)) :: (
 _, ( _, LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_let_formula_binding (( tff_let_formula_binding ))
 in ( LrTable.NT 142, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 116, ( ( _, ( MlyValue.tff_tuple tff_tuple2, _, tff_tuple2right))
 :: _ :: ( _, ( MlyValue.tff_tuple tff_tuple1, tff_tuple1left, _)) :: 
rest671)) => let val  result = MlyValue.tff_sequent (
( Sequent (tff_tuple1, tff_tuple2) ))
 in ( LrTable.NT 75, ( result, tff_tuple1left, tff_tuple2right), 
rest671)
end
|  ( 117, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.tff_sequent
 tff_sequent, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let
 val  result = MlyValue.tff_sequent (( tff_sequent ))
 in ( LrTable.NT 75, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 118, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( _, LBRKT1left, _)) ::
 rest671)) => let val  result = MlyValue.tff_tuple (( [] ))
 in ( LrTable.NT 73, ( result, LBRKT1left, RBRKT1right), rest671)
end
|  ( 119, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( 
MlyValue.tff_tuple_list tff_tuple_list, _, _)) :: ( _, ( _, LBRKT1left
, _)) :: rest671)) => let val  result = MlyValue.tff_tuple (
( tff_tuple_list ))
 in ( LrTable.NT 73, ( result, LBRKT1left, RBRKT1right), rest671)
end
|  ( 120, ( ( _, ( MlyValue.tff_tuple_list tff_tuple_list, _, 
tff_tuple_list1right)) :: _ :: ( _, ( MlyValue.tff_logic_formula 
tff_logic_formula, tff_logic_formula1left, _)) :: rest671)) => let
 val  result = MlyValue.tff_tuple_list (
( tff_logic_formula :: tff_tuple_list ))
 in ( LrTable.NT 74, ( result, tff_logic_formula1left, 
tff_tuple_list1right), rest671)
end
|  ( 121, ( ( _, ( MlyValue.tff_logic_formula tff_logic_formula, 
tff_logic_formula1left, tff_logic_formula1right)) :: rest671)) => let
 val  result = MlyValue.tff_tuple_list (( [tff_logic_formula] ))
 in ( LrTable.NT 74, ( result, tff_logic_formula1left, 
tff_logic_formula1right), rest671)
end
|  ( 122, ( ( _, ( MlyValue.tff_top_level_type tff_top_level_type, _, 
tff_top_level_type1right)) :: _ :: ( _, ( MlyValue.tff_untyped_atom 
tff_untyped_atom, tff_untyped_atom1left, _)) :: rest671)) => let val  
result = MlyValue.tff_typed_atom (
( (fst tff_untyped_atom, SOME tff_top_level_type) ))
 in ( LrTable.NT 83, ( result, tff_untyped_atom1left, 
tff_top_level_type1right), rest671)
end
|  ( 123, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_typed_atom tff_typed_atom, _, _)) :: ( _, ( _, 
LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_typed_atom (( tff_typed_atom ))
 in ( LrTable.NT 83, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 124, ( ( _, ( MlyValue.functor_ functor_, functor_1left, 
functor_1right)) :: rest671)) => let val  result = 
MlyValue.tff_untyped_atom (( (functor_, NONE) ))
 in ( LrTable.NT 82, ( result, functor_1left, functor_1right), rest671
)
end
|  ( 125, ( ( _, ( MlyValue.system_functor system_functor, 
system_functor1left, system_functor1right)) :: rest671)) => let val  
result = MlyValue.tff_untyped_atom (( (system_functor, NONE) ))
 in ( LrTable.NT 82, ( result, system_functor1left, 
system_functor1right), rest671)
end
|  ( 126, ( ( _, ( MlyValue.tff_atomic_type tff_atomic_type, 
tff_atomic_type1left, tff_atomic_type1right)) :: rest671)) => let val 
 result = MlyValue.tff_top_level_type (( tff_atomic_type ))
 in ( LrTable.NT 81, ( result, tff_atomic_type1left, 
tff_atomic_type1right), rest671)
end
|  ( 127, ( ( _, ( MlyValue.tff_mapping_type tff_mapping_type, 
tff_mapping_type1left, tff_mapping_type1right)) :: rest671)) => let
 val  result = MlyValue.tff_top_level_type (( tff_mapping_type ))
 in ( LrTable.NT 81, ( result, tff_mapping_type1left, 
tff_mapping_type1right), rest671)
end
|  ( 128, ( ( _, ( MlyValue.tff_quantified_type tff_quantified_type, 
tff_quantified_type1left, tff_quantified_type1right)) :: rest671)) =>
 let val  result = MlyValue.tff_top_level_type (
( tff_quantified_type ))
 in ( LrTable.NT 81, ( result, tff_quantified_type1left, 
tff_quantified_type1right), rest671)
end
|  ( 129, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_top_level_type tff_top_level_type, _, _)) :: ( _, ( _, 
LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_top_level_type (( tff_top_level_type ))
 in ( LrTable.NT 81, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 130, ( ( _, ( MlyValue.tff_monotype tff_monotype, _, 
tff_monotype1right)) :: _ :: _ :: ( _, ( MlyValue.tff_variable_list 
tff_variable_list, _, _)) :: _ :: ( _, ( _, DEP_PROD1left, _)) :: 
rest671)) => let val  result = MlyValue.tff_quantified_type (
(
       Fmla_type (Quant (Dep_Prod, tff_variable_list, Type_fmla tff_monotype))
)
)
 in ( LrTable.NT 143, ( result, DEP_PROD1left, tff_monotype1right), 
rest671)
end
|  ( 131, ( ( _, ( MlyValue.tff_atomic_type tff_atomic_type, 
tff_atomic_type1left, tff_atomic_type1right)) :: rest671)) => let val 
 result = MlyValue.tff_monotype (( tff_atomic_type ))
 in ( LrTable.NT 144, ( result, tff_atomic_type1left, 
tff_atomic_type1right), rest671)
end
|  ( 132, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_mapping_type tff_mapping_type, _, _)) :: ( _, ( _, 
LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_monotype (( tff_mapping_type ))
 in ( LrTable.NT 144, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 133, ( ( _, ( MlyValue.tff_atomic_type tff_atomic_type, 
tff_atomic_type1left, tff_atomic_type1right)) :: rest671)) => let val 
 result = MlyValue.tff_unitary_type (( tff_atomic_type ))
 in ( LrTable.NT 80, ( result, tff_atomic_type1left, 
tff_atomic_type1right), rest671)
end
|  ( 134, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_xprod_type tff_xprod_type, _, _)) :: ( _, ( _, 
LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.tff_unitary_type (( tff_xprod_type ))
 in ( LrTable.NT 80, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 135, ( ( _, ( MlyValue.atomic_word atomic_word, atomic_word1left,
 atomic_word1right)) :: rest671)) => let val  result = 
MlyValue.tff_atomic_type (( Atom_type (atomic_word, []) ))
 in ( LrTable.NT 79, ( result, atomic_word1left, atomic_word1right), 
rest671)
end
|  ( 136, ( ( _, ( MlyValue.defined_type defined_type, 
defined_type1left, defined_type1right)) :: rest671)) => let val  
result = MlyValue.tff_atomic_type (( Defined_type defined_type ))
 in ( LrTable.NT 79, ( result, defined_type1left, defined_type1right),
 rest671)
end
|  ( 137, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.tff_type_arguments tff_type_arguments, _, _)) :: _ :: ( _, ( 
MlyValue.atomic_word atomic_word, atomic_word1left, _)) :: rest671))
 => let val  result = MlyValue.tff_atomic_type (
( Fmla_type (Fmla (Uninterpreted atomic_word, (map Type_fmla tff_type_arguments))) )
)
 in ( LrTable.NT 79, ( result, atomic_word1left, RPAREN1right), 
rest671)
end
|  ( 138, ( ( _, ( MlyValue.variable_ variable_, variable_1left, 
variable_1right)) :: rest671)) => let val  result = 
MlyValue.tff_atomic_type (
( Fmla_type (Pred (Interpreted_ExtraLogic Apply, [Term_Var variable_])) )
)
 in ( LrTable.NT 79, ( result, variable_1left, variable_1right), 
rest671)
end
|  ( 139, ( ( _, ( MlyValue.tff_atomic_type tff_atomic_type, 
tff_atomic_type1left, tff_atomic_type1right)) :: rest671)) => let val 
 result = MlyValue.tff_type_arguments (( [tff_atomic_type]  ))
 in ( LrTable.NT 145, ( result, tff_atomic_type1left, 
tff_atomic_type1right), rest671)
end
|  ( 140, ( ( _, ( MlyValue.tff_type_arguments tff_type_arguments, _, 
tff_type_arguments1right)) :: _ :: ( _, ( MlyValue.tff_atomic_type 
tff_atomic_type, tff_atomic_type1left, _)) :: rest671)) => let val  
result = MlyValue.tff_type_arguments (
( tff_atomic_type :: tff_type_arguments ))
 in ( LrTable.NT 145, ( result, tff_atomic_type1left, 
tff_type_arguments1right), rest671)
end
|  ( 141, ( ( _, ( MlyValue.tff_atomic_type tff_atomic_type, _, 
tff_atomic_type1right)) :: _ :: ( _, ( MlyValue.tff_unitary_type 
tff_unitary_type, tff_unitary_type1left, _)) :: rest671)) => let val  
result = MlyValue.tff_mapping_type (
( Fn_type(tff_unitary_type, tff_atomic_type) ))
 in ( LrTable.NT 78, ( result, tff_unitary_type1left, 
tff_atomic_type1right), rest671)
end
|  ( 142, ( ( _, ( MlyValue.tff_atomic_type tff_atomic_type2, _, 
tff_atomic_type2right)) :: _ :: ( _, ( MlyValue.tff_atomic_type 
tff_atomic_type1, tff_atomic_type1left, _)) :: rest671)) => let val  
result = MlyValue.tff_xprod_type (
( Prod_type(tff_atomic_type1, tff_atomic_type2) ))
 in ( LrTable.NT 77, ( result, tff_atomic_type1left, 
tff_atomic_type2right), rest671)
end
|  ( 143, ( ( _, ( MlyValue.tff_atomic_type tff_atomic_type, _, 
tff_atomic_type1right)) :: _ :: ( _, ( MlyValue.tff_xprod_type 
tff_xprod_type, tff_xprod_type1left, _)) :: rest671)) => let val  
result = MlyValue.tff_xprod_type (
( Prod_type(tff_xprod_type, tff_atomic_type) ))
 in ( LrTable.NT 77, ( result, tff_xprod_type1left, 
tff_atomic_type1right), rest671)
end
|  ( 144, ( ( _, ( MlyValue.fof_logic_formula fof_logic_formula, 
fof_logic_formula1left, fof_logic_formula1right)) :: rest671)) => let
 val  result = MlyValue.fof_formula (( fof_logic_formula ))
 in ( LrTable.NT 72, ( result, fof_logic_formula1left, 
fof_logic_formula1right), rest671)
end
|  ( 145, ( ( _, ( MlyValue.fof_sequent fof_sequent, fof_sequent1left,
 fof_sequent1right)) :: rest671)) => let val  result = 
MlyValue.fof_formula (( fof_sequent ))
 in ( LrTable.NT 72, ( result, fof_sequent1left, fof_sequent1right), 
rest671)
end
|  ( 146, ( ( _, ( MlyValue.fof_binary_formula fof_binary_formula, 
fof_binary_formula1left, fof_binary_formula1right)) :: rest671)) =>
 let val  result = MlyValue.fof_logic_formula (( fof_binary_formula ))
 in ( LrTable.NT 71, ( result, fof_binary_formula1left, 
fof_binary_formula1right), rest671)
end
|  ( 147, ( ( _, ( MlyValue.fof_unitary_formula fof_unitary_formula, 
fof_unitary_formula1left, fof_unitary_formula1right)) :: rest671)) =>
 let val  result = MlyValue.fof_logic_formula (( fof_unitary_formula )
)
 in ( LrTable.NT 71, ( result, fof_unitary_formula1left, 
fof_unitary_formula1right), rest671)
end
|  ( 148, ( ( _, ( MlyValue.fof_binary_nonassoc fof_binary_nonassoc, 
fof_binary_nonassoc1left, fof_binary_nonassoc1right)) :: rest671)) =>
 let val  result = MlyValue.fof_binary_formula (
( fof_binary_nonassoc ))
 in ( LrTable.NT 70, ( result, fof_binary_nonassoc1left, 
fof_binary_nonassoc1right), rest671)
end
|  ( 149, ( ( _, ( MlyValue.fof_binary_assoc fof_binary_assoc, 
fof_binary_assoc1left, fof_binary_assoc1right)) :: rest671)) => let
 val  result = MlyValue.fof_binary_formula (( fof_binary_assoc ))
 in ( LrTable.NT 70, ( result, fof_binary_assoc1left, 
fof_binary_assoc1right), rest671)
end
|  ( 150, ( ( _, ( MlyValue.fof_unitary_formula fof_unitary_formula2,
 _, fof_unitary_formula2right)) :: ( _, ( MlyValue.binary_connective 
binary_connective, _, _)) :: ( _, ( MlyValue.fof_unitary_formula 
fof_unitary_formula1, fof_unitary_formula1left, _)) :: rest671)) =>
 let val  result = MlyValue.fof_binary_nonassoc (
(
  Fmla (binary_connective, [fof_unitary_formula1, fof_unitary_formula2] )
)
)
 in ( LrTable.NT 69, ( result, fof_unitary_formula1left, 
fof_unitary_formula2right), rest671)
end
|  ( 151, ( ( _, ( MlyValue.fof_or_formula fof_or_formula, 
fof_or_formula1left, fof_or_formula1right)) :: rest671)) => let val  
result = MlyValue.fof_binary_assoc (( fof_or_formula ))
 in ( LrTable.NT 68, ( result, fof_or_formula1left, 
fof_or_formula1right), rest671)
end
|  ( 152, ( ( _, ( MlyValue.fof_and_formula fof_and_formula, 
fof_and_formula1left, fof_and_formula1right)) :: rest671)) => let val 
 result = MlyValue.fof_binary_assoc (( fof_and_formula ))
 in ( LrTable.NT 68, ( result, fof_and_formula1left, 
fof_and_formula1right), rest671)
end
|  ( 153, ( ( _, ( MlyValue.fof_unitary_formula fof_unitary_formula2,
 _, fof_unitary_formula2right)) :: _ :: ( _, ( 
MlyValue.fof_unitary_formula fof_unitary_formula1, 
fof_unitary_formula1left, _)) :: rest671)) => let val  result = 
MlyValue.fof_or_formula (
( Fmla (Interpreted_Logic Or, [fof_unitary_formula1, fof_unitary_formula2]) )
)
 in ( LrTable.NT 67, ( result, fof_unitary_formula1left, 
fof_unitary_formula2right), rest671)
end
|  ( 154, ( ( _, ( MlyValue.fof_unitary_formula fof_unitary_formula, _
, fof_unitary_formula1right)) :: _ :: ( _, ( MlyValue.fof_or_formula 
fof_or_formula, fof_or_formula1left, _)) :: rest671)) => let val  
result = MlyValue.fof_or_formula (
( Fmla (Interpreted_Logic Or, [fof_or_formula, fof_unitary_formula]) )
)
 in ( LrTable.NT 67, ( result, fof_or_formula1left, 
fof_unitary_formula1right), rest671)
end
|  ( 155, ( ( _, ( MlyValue.fof_unitary_formula fof_unitary_formula2,
 _, fof_unitary_formula2right)) :: _ :: ( _, ( 
MlyValue.fof_unitary_formula fof_unitary_formula1, 
fof_unitary_formula1left, _)) :: rest671)) => let val  result = 
MlyValue.fof_and_formula (
( Fmla (Interpreted_Logic And, [fof_unitary_formula1, fof_unitary_formula2]) )
)
 in ( LrTable.NT 66, ( result, fof_unitary_formula1left, 
fof_unitary_formula2right), rest671)
end
|  ( 156, ( ( _, ( MlyValue.fof_unitary_formula fof_unitary_formula, _
, fof_unitary_formula1right)) :: _ :: ( _, ( MlyValue.fof_and_formula 
fof_and_formula, fof_and_formula1left, _)) :: rest671)) => let val  
result = MlyValue.fof_and_formula (
( Fmla (Interpreted_Logic And, [fof_and_formula, fof_unitary_formula]) )
)
 in ( LrTable.NT 66, ( result, fof_and_formula1left, 
fof_unitary_formula1right), rest671)
end
|  ( 157, ( ( _, ( MlyValue.fof_quantified_formula 
fof_quantified_formula, fof_quantified_formula1left, 
fof_quantified_formula1right)) :: rest671)) => let val  result = 
MlyValue.fof_unitary_formula (( fof_quantified_formula ))
 in ( LrTable.NT 65, ( result, fof_quantified_formula1left, 
fof_quantified_formula1right), rest671)
end
|  ( 158, ( ( _, ( MlyValue.fof_unary_formula fof_unary_formula, 
fof_unary_formula1left, fof_unary_formula1right)) :: rest671)) => let
 val  result = MlyValue.fof_unitary_formula (( fof_unary_formula ))
 in ( LrTable.NT 65, ( result, fof_unary_formula1left, 
fof_unary_formula1right), rest671)
end
|  ( 159, ( ( _, ( MlyValue.atomic_formula atomic_formula, 
atomic_formula1left, atomic_formula1right)) :: rest671)) => let val  
result = MlyValue.fof_unitary_formula (( atomic_formula ))
 in ( LrTable.NT 65, ( result, atomic_formula1left, 
atomic_formula1right), rest671)
end
|  ( 160, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.fof_logic_formula fof_logic_formula, _, _)) :: ( _, ( _, 
LPAREN1left, _)) :: rest671)) => let val  result = 
MlyValue.fof_unitary_formula (( fof_logic_formula ))
 in ( LrTable.NT 65, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 161, ( ( _, ( MlyValue.fof_unitary_formula fof_unitary_formula, _
, fof_unitary_formula1right)) :: _ :: _ :: ( _, ( 
MlyValue.fof_variable_list fof_variable_list, _, _)) :: _ :: ( _, ( 
MlyValue.fol_quantifier fol_quantifier, fol_quantifier1left, _)) :: 
rest671)) => let val  result = MlyValue.fof_quantified_formula (
(
  Quant (fol_quantifier, map (fn v => (v, NONE)) fof_variable_list, fof_unitary_formula)
)
)
 in ( LrTable.NT 64, ( result, fol_quantifier1left, 
fof_unitary_formula1right), rest671)
end
|  ( 162, ( ( _, ( MlyValue.variable_ variable_, variable_1left, 
variable_1right)) :: rest671)) => let val  result = 
MlyValue.fof_variable_list (( [variable_] ))
 in ( LrTable.NT 63, ( result, variable_1left, variable_1right), 
rest671)
end
|  ( 163, ( ( _, ( MlyValue.fof_variable_list fof_variable_list, _, 
fof_variable_list1right)) :: _ :: ( _, ( MlyValue.variable_ variable_,
 variable_1left, _)) :: rest671)) => let val  result = 
MlyValue.fof_variable_list (( variable_ :: fof_variable_list ))
 in ( LrTable.NT 63, ( result, variable_1left, fof_variable_list1right
), rest671)
end
|  ( 164, ( ( _, ( MlyValue.fof_unitary_formula fof_unitary_formula, _
, fof_unitary_formula1right)) :: ( _, ( MlyValue.unary_connective 
unary_connective, unary_connective1left, _)) :: rest671)) => let val  
result = MlyValue.fof_unary_formula (
( Fmla (unary_connective, [fof_unitary_formula]) ))
 in ( LrTable.NT 62, ( result, unary_connective1left, 
fof_unitary_formula1right), rest671)
end
|  ( 165, ( ( _, ( MlyValue.fol_infix_unary fol_infix_unary, 
fol_infix_unary1left, fol_infix_unary1right)) :: rest671)) => let val 
 result = MlyValue.fof_unary_formula (( fol_infix_unary ))
 in ( LrTable.NT 62, ( result, fol_infix_unary1left, 
fol_infix_unary1right), rest671)
end
|  ( 166, ( ( _, ( MlyValue.fof_tuple fof_tuple2, _, fof_tuple2right))
 :: _ :: ( _, ( MlyValue.fof_tuple fof_tuple1, fof_tuple1left, _)) :: 
rest671)) => let val  result = MlyValue.fof_sequent (
( Sequent (fof_tuple1, fof_tuple2) ))
 in ( LrTable.NT 61, ( result, fof_tuple1left, fof_tuple2right), 
rest671)
end
|  ( 167, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.fof_sequent
 fof_sequent, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let
 val  result = MlyValue.fof_sequent (( fof_sequent ))
 in ( LrTable.NT 61, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 168, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( _, LBRKT1left, _)) ::
 rest671)) => let val  result = MlyValue.fof_tuple (( [] ))
 in ( LrTable.NT 60, ( result, LBRKT1left, RBRKT1right), rest671)
end
|  ( 169, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( 
MlyValue.fof_tuple_list fof_tuple_list, _, _)) :: ( _, ( _, LBRKT1left
, _)) :: rest671)) => let val  result = MlyValue.fof_tuple (
( fof_tuple_list ))
 in ( LrTable.NT 60, ( result, LBRKT1left, RBRKT1right), rest671)
end
|  ( 170, ( ( _, ( MlyValue.fof_logic_formula fof_logic_formula, 
fof_logic_formula1left, fof_logic_formula1right)) :: rest671)) => let
 val  result = MlyValue.fof_tuple_list (( [fof_logic_formula] ))
 in ( LrTable.NT 59, ( result, fof_logic_formula1left, 
fof_logic_formula1right), rest671)
end
|  ( 171, ( ( _, ( MlyValue.fof_tuple_list fof_tuple_list, _, 
fof_tuple_list1right)) :: _ :: ( _, ( MlyValue.fof_logic_formula 
fof_logic_formula, fof_logic_formula1left, _)) :: rest671)) => let
 val  result = MlyValue.fof_tuple_list (
( fof_logic_formula :: fof_tuple_list ))
 in ( LrTable.NT 59, ( result, fof_logic_formula1left, 
fof_tuple_list1right), rest671)
end
|  ( 172, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.disjunction
 disjunction, _, _)) :: ( _, ( _, LPAREN1left, _)) :: rest671)) => let
 val  result = MlyValue.cnf_formula (( disjunction ))
 in ( LrTable.NT 58, ( result, LPAREN1left, RPAREN1right), rest671)

end
|  ( 173, ( ( _, ( MlyValue.disjunction disjunction, disjunction1left,
 disjunction1right)) :: rest671)) => let val  result = 
MlyValue.cnf_formula (( disjunction ))
 in ( LrTable.NT 58, ( result, disjunction1left, disjunction1right), 
rest671)
end
|  ( 174, ( ( _, ( MlyValue.literal literal, literal1left, 
literal1right)) :: rest671)) => let val  result = MlyValue.disjunction
 (( literal ))
 in ( LrTable.NT 57, ( result, literal1left, literal1right), rest671)

end
|  ( 175, ( ( _, ( MlyValue.literal literal, _, literal1right)) :: _
 :: ( _, ( MlyValue.disjunction disjunction, disjunction1left, _)) :: 
rest671)) => let val  result = MlyValue.disjunction (
( Fmla (Interpreted_Logic Or, [disjunction, literal]) ))
 in ( LrTable.NT 57, ( result, disjunction1left, literal1right), 
rest671)
end
|  ( 176, ( ( _, ( MlyValue.atomic_formula atomic_formula, 
atomic_formula1left, atomic_formula1right)) :: rest671)) => let val  
result = MlyValue.literal (( atomic_formula ))
 in ( LrTable.NT 56, ( result, atomic_formula1left, 
atomic_formula1right), rest671)
end
|  ( 177, ( ( _, ( MlyValue.atomic_formula atomic_formula, _, 
atomic_formula1right)) :: ( _, ( _, TILDE1left, _)) :: rest671)) =>
 let val  result = MlyValue.literal (
( Fmla (Interpreted_Logic Not, [atomic_formula]) ))
 in ( LrTable.NT 56, ( result, TILDE1left, atomic_formula1right), 
rest671)
end
|  ( 178, ( ( _, ( MlyValue.fol_infix_unary fol_infix_unary, 
fol_infix_unary1left, fol_infix_unary1right)) :: rest671)) => let val 
 result = MlyValue.literal (( fol_infix_unary ))
 in ( LrTable.NT 56, ( result, fol_infix_unary1left, 
fol_infix_unary1right), rest671)
end
|  ( 179, ( ( _, ( MlyValue.thf_pair_connective thf_pair_connective, 
thf_pair_connective1left, thf_pair_connective1right)) :: rest671)) =>
 let val  result = MlyValue.thf_conn_term (( thf_pair_connective ))
 in ( LrTable.NT 55, ( result, thf_pair_connective1left, 
thf_pair_connective1right), rest671)
end
|  ( 180, ( ( _, ( MlyValue.assoc_connective assoc_connective, 
assoc_connective1left, assoc_connective1right)) :: rest671)) => let
 val  result = MlyValue.thf_conn_term (( assoc_connective ))
 in ( LrTable.NT 55, ( result, assoc_connective1left, 
assoc_connective1right), rest671)
end
|  ( 181, ( ( _, ( MlyValue.thf_unary_connective thf_unary_connective,
 thf_unary_connective1left, thf_unary_connective1right)) :: rest671))
 => let val  result = MlyValue.thf_conn_term (( thf_unary_connective )
)
 in ( LrTable.NT 55, ( result, thf_unary_connective1left, 
thf_unary_connective1right), rest671)
end
|  ( 182, ( ( _, ( MlyValue.term term2, _, term2right)) :: ( _, ( 
MlyValue.infix_inequality infix_inequality, _, _)) :: ( _, ( 
MlyValue.term term1, term1left, _)) :: rest671)) => let val  result = 
MlyValue.fol_infix_unary (( Pred (infix_inequality, [term1, term2]) ))
 in ( LrTable.NT 54, ( result, term1left, term2right), rest671)
end
|  ( 183, ( ( _, ( MlyValue.fol_quantifier fol_quantifier, 
fol_quantifier1left, fol_quantifier1right)) :: rest671)) => let val  
result = MlyValue.thf_quantifier (( fol_quantifier ))
 in ( LrTable.NT 53, ( result, fol_quantifier1left, 
fol_quantifier1right), rest671)
end
|  ( 184, ( ( _, ( _, CARET1left, CARET1right)) :: rest671)) => let
 val  result = MlyValue.thf_quantifier (( Lambda ))
 in ( LrTable.NT 53, ( result, CARET1left, CARET1right), rest671)
end
|  ( 185, ( ( _, ( _, DEP_PROD1left, DEP_PROD1right)) :: rest671)) =>
 let val  result = MlyValue.thf_quantifier (( Dep_Prod ))
 in ( LrTable.NT 53, ( result, DEP_PROD1left, DEP_PROD1right), rest671
)
end
|  ( 186, ( ( _, ( _, DEP_SUM1left, DEP_SUM1right)) :: rest671)) =>
 let val  result = MlyValue.thf_quantifier (( Dep_Sum ))
 in ( LrTable.NT 53, ( result, DEP_SUM1left, DEP_SUM1right), rest671)

end
|  ( 187, ( ( _, ( _, INDEF_CHOICE1left, INDEF_CHOICE1right)) :: 
rest671)) => let val  result = MlyValue.thf_quantifier (( Epsilon ))
 in ( LrTable.NT 53, ( result, INDEF_CHOICE1left, INDEF_CHOICE1right),
 rest671)
end
|  ( 188, ( ( _, ( _, DEFIN_CHOICE1left, DEFIN_CHOICE1right)) :: 
rest671)) => let val  result = MlyValue.thf_quantifier (( Iota ))
 in ( LrTable.NT 53, ( result, DEFIN_CHOICE1left, DEFIN_CHOICE1right),
 rest671)
end
|  ( 189, ( ( _, ( MlyValue.infix_equality infix_equality, 
infix_equality1left, infix_equality1right)) :: rest671)) => let val  
result = MlyValue.thf_pair_connective (( infix_equality ))
 in ( LrTable.NT 52, ( result, infix_equality1left, 
infix_equality1right), rest671)
end
|  ( 190, ( ( _, ( MlyValue.infix_inequality infix_inequality, 
infix_inequality1left, infix_inequality1right)) :: rest671)) => let
 val  result = MlyValue.thf_pair_connective (( infix_inequality ))
 in ( LrTable.NT 52, ( result, infix_inequality1left, 
infix_inequality1right), rest671)
end
|  ( 191, ( ( _, ( MlyValue.binary_connective binary_connective, 
binary_connective1left, binary_connective1right)) :: rest671)) => let
 val  result = MlyValue.thf_pair_connective (( binary_connective ))
 in ( LrTable.NT 52, ( result, binary_connective1left, 
binary_connective1right), rest671)
end
|  ( 192, ( ( _, ( MlyValue.unary_connective unary_connective, 
unary_connective1left, unary_connective1right)) :: rest671)) => let
 val  result = MlyValue.thf_unary_connective (( unary_connective ))
 in ( LrTable.NT 51, ( result, unary_connective1left, 
unary_connective1right), rest671)
end
|  ( 193, ( ( _, ( _, OPERATOR_FORALL1left, OPERATOR_FORALL1right)) ::
 rest671)) => let val  result = MlyValue.thf_unary_connective (
( Interpreted_Logic Op_Forall ))
 in ( LrTable.NT 51, ( result, OPERATOR_FORALL1left, 
OPERATOR_FORALL1right), rest671)
end
|  ( 194, ( ( _, ( _, OPERATOR_EXISTS1left, OPERATOR_EXISTS1right)) ::
 rest671)) => let val  result = MlyValue.thf_unary_connective (
( Interpreted_Logic Op_Exists ))
 in ( LrTable.NT 51, ( result, OPERATOR_EXISTS1left, 
OPERATOR_EXISTS1right), rest671)
end
|  ( 195, ( ( _, ( _, EXCLAMATION1left, EXCLAMATION1right)) :: rest671
)) => let val  result = MlyValue.fol_quantifier (( Forall ))
 in ( LrTable.NT 50, ( result, EXCLAMATION1left, EXCLAMATION1right), 
rest671)
end
|  ( 196, ( ( _, ( _, QUESTION1left, QUESTION1right)) :: rest671)) =>
 let val  result = MlyValue.fol_quantifier (( Exists ))
 in ( LrTable.NT 50, ( result, QUESTION1left, QUESTION1right), rest671
)
end
|  ( 197, ( ( _, ( _, IFF1left, IFF1right)) :: rest671)) => let val  
result = MlyValue.binary_connective (( Interpreted_Logic Iff ))
 in ( LrTable.NT 49, ( result, IFF1left, IFF1right), rest671)
end
|  ( 198, ( ( _, ( _, IMPLIES1left, IMPLIES1right)) :: rest671)) =>
 let val  result = MlyValue.binary_connective (
( Interpreted_Logic If ))
 in ( LrTable.NT 49, ( result, IMPLIES1left, IMPLIES1right), rest671)

end
|  ( 199, ( ( _, ( _, FI1left, FI1right)) :: rest671)) => let val  
result = MlyValue.binary_connective (( Interpreted_Logic Fi ))
 in ( LrTable.NT 49, ( result, FI1left, FI1right), rest671)
end
|  ( 200, ( ( _, ( _, XOR1left, XOR1right)) :: rest671)) => let val  
result = MlyValue.binary_connective (( Interpreted_Logic Xor ))
 in ( LrTable.NT 49, ( result, XOR1left, XOR1right), rest671)
end
|  ( 201, ( ( _, ( _, NOR1left, NOR1right)) :: rest671)) => let val  
result = MlyValue.binary_connective (( Interpreted_Logic Nor ))
 in ( LrTable.NT 49, ( result, NOR1left, NOR1right), rest671)
end
|  ( 202, ( ( _, ( _, NAND1left, NAND1right)) :: rest671)) => let val 
 result = MlyValue.binary_connective (( Interpreted_Logic Nand ))
 in ( LrTable.NT 49, ( result, NAND1left, NAND1right), rest671)
end
|  ( 203, ( ( _, ( _, VLINE1left, VLINE1right)) :: rest671)) => let
 val  result = MlyValue.assoc_connective (( Interpreted_Logic Or ))
 in ( LrTable.NT 48, ( result, VLINE1left, VLINE1right), rest671)
end
|  ( 204, ( ( _, ( _, AMPERSAND1left, AMPERSAND1right)) :: rest671))
 => let val  result = MlyValue.assoc_connective (
( Interpreted_Logic And ))
 in ( LrTable.NT 48, ( result, AMPERSAND1left, AMPERSAND1right), 
rest671)
end
|  ( 205, ( ( _, ( _, TILDE1left, TILDE1right)) :: rest671)) => let
 val  result = MlyValue.unary_connective (( Interpreted_Logic Not ))
 in ( LrTable.NT 45, ( result, TILDE1left, TILDE1right), rest671)
end
|  ( 206, ( ( _, ( MlyValue.atomic_defined_word atomic_defined_word, 
atomic_defined_word1left, atomic_defined_word1right)) :: rest671)) =>
 let val  result = MlyValue.defined_type (
(
  case atomic_defined_word of
    "$oType" => Type_Bool
  | "$o" => Type_Bool
  | "$iType" => Type_Ind
  | "$i" => Type_Ind
  | "$tType" => Type_Type
  | "$real" => Type_Real
  | "$rat" => Type_Rat
  | "$int" => Type_Int
  | "$_" => Type_Dummy
  | thing => raise UNRECOGNISED_SYMBOL ("defined_type", thing)
)
)
 in ( LrTable.NT 46, ( result, atomic_defined_word1left, 
atomic_defined_word1right), rest671)
end
|  ( 207, ( ( _, ( MlyValue.atomic_system_word atomic_system_word, 
atomic_system_word1left, atomic_system_word1right)) :: rest671)) =>
 let val  result = MlyValue.system_type (( atomic_system_word ))
 in ( LrTable.NT 47, ( result, atomic_system_word1left, 
atomic_system_word1right), rest671)
end
|  ( 208, ( ( _, ( MlyValue.plain_atomic_formula plain_atomic_formula,
 plain_atomic_formula1left, plain_atomic_formula1right)) :: rest671))
 => let val  result = MlyValue.atomic_formula (
( plain_atomic_formula ))
 in ( LrTable.NT 44, ( result, plain_atomic_formula1left, 
plain_atomic_formula1right), rest671)
end
|  ( 209, ( ( _, ( MlyValue.defined_atomic_formula 
defined_atomic_formula, defined_atomic_formula1left, 
defined_atomic_formula1right)) :: rest671)) => let val  result = 
MlyValue.atomic_formula (( defined_atomic_formula ))
 in ( LrTable.NT 44, ( result, defined_atomic_formula1left, 
defined_atomic_formula1right), rest671)
end
|  ( 210, ( ( _, ( MlyValue.system_atomic_formula 
system_atomic_formula, system_atomic_formula1left, 
system_atomic_formula1right)) :: rest671)) => let val  result = 
MlyValue.atomic_formula (( system_atomic_formula ))
 in ( LrTable.NT 44, ( result, system_atomic_formula1left, 
system_atomic_formula1right), rest671)
end
|  ( 211, ( ( _, ( MlyValue.plain_term plain_term, plain_term1left, 
plain_term1right)) :: rest671)) => let val  result = 
MlyValue.plain_atomic_formula (( Pred plain_term ))
 in ( LrTable.NT 43, ( result, plain_term1left, plain_term1right), 
rest671)
end
|  ( 212, ( ( _, ( MlyValue.defined_plain_formula 
defined_plain_formula, defined_plain_formula1left, 
defined_plain_formula1right)) :: rest671)) => let val  result = 
MlyValue.defined_atomic_formula (( defined_plain_formula ))
 in ( LrTable.NT 42, ( result, defined_plain_formula1left, 
defined_plain_formula1right), rest671)
end
|  ( 213, ( ( _, ( MlyValue.defined_infix_formula 
defined_infix_formula, defined_infix_formula1left, 
defined_infix_formula1right)) :: rest671)) => let val  result = 
MlyValue.defined_atomic_formula (( defined_infix_formula ))
 in ( LrTable.NT 42, ( result, defined_infix_formula1left, 
defined_infix_formula1right), rest671)
end
|  ( 214, ( ( _, ( MlyValue.defined_plain_term defined_plain_term, 
defined_plain_term1left, defined_plain_term1right)) :: rest671)) =>
 let val  result = MlyValue.defined_plain_formula (
( Pred defined_plain_term ))
 in ( LrTable.NT 41, ( result, defined_plain_term1left, 
defined_plain_term1right), rest671)
end
|  ( 215, ( ( _, ( MlyValue.atomic_defined_word atomic_defined_word, 
atomic_defined_word1left, atomic_defined_word1right)) :: rest671)) =>
 let val  result = MlyValue.defined_prop (
(
  case atomic_defined_word of
    "$true"  => "$true"
  | "$false" => "$false"
  | thing => raise UNRECOGNISED_SYMBOL ("defined_prop", thing)
)
)
 in ( LrTable.NT 39, ( result, atomic_defined_word1left, 
atomic_defined_word1right), rest671)
end
|  ( 216, ( ( _, ( MlyValue.atomic_defined_word atomic_defined_word, 
atomic_defined_word1left, atomic_defined_word1right)) :: rest671)) =>
 let val  result = MlyValue.defined_pred (
(
  case atomic_defined_word of
    "$distinct"  => "$distinct"
  | "$ite_f" => "$ite_f"
  | "$less" => "$less"
  | "$lesseq" => "$lesseq"
  | "$greater" => "$greater"
  | "$greatereq" => "$greatereq"
  | "$is_int" => "$is_int"
  | "$is_rat" => "$is_rat"
  | thing => raise UNRECOGNISED_SYMBOL ("defined_pred", thing)
)
)
 in ( LrTable.NT 40, ( result, atomic_defined_word1left, 
atomic_defined_word1right), rest671)
end
|  ( 217, ( ( _, ( MlyValue.term term2, _, term2right)) :: ( _, ( 
MlyValue.defined_infix_pred defined_infix_pred, _, _)) :: ( _, ( 
MlyValue.term term1, term1left, _)) :: rest671)) => let val  result = 
MlyValue.defined_infix_formula (
(Pred (defined_infix_pred, [term1, term2])))
 in ( LrTable.NT 38, ( result, term1left, term2right), rest671)
end
|  ( 218, ( ( _, ( MlyValue.infix_equality infix_equality, 
infix_equality1left, infix_equality1right)) :: rest671)) => let val  
result = MlyValue.defined_infix_pred (( infix_equality ))
 in ( LrTable.NT 37, ( result, infix_equality1left, 
infix_equality1right), rest671)
end
|  ( 219, ( ( _, ( _, EQUALS1left, EQUALS1right)) :: rest671)) => let
 val  result = MlyValue.infix_equality (( Interpreted_Logic Equals ))
 in ( LrTable.NT 35, ( result, EQUALS1left, EQUALS1right), rest671)

end
|  ( 220, ( ( _, ( _, NEQUALS1left, NEQUALS1right)) :: rest671)) =>
 let val  result = MlyValue.infix_inequality (
( Interpreted_Logic NEquals ))
 in ( LrTable.NT 36, ( result, NEQUALS1left, NEQUALS1right), rest671)

end
|  ( 221, ( ( _, ( MlyValue.system_term system_term, system_term1left,
 system_term1right)) :: rest671)) => let val  result = 
MlyValue.system_atomic_formula (( Pred system_term ))
 in ( LrTable.NT 34, ( result, system_term1left, system_term1right), 
rest671)
end
|  ( 222, ( ( _, ( MlyValue.function_term function_term, 
function_term1left, function_term1right)) :: rest671)) => let val  
result = MlyValue.term (( function_term ))
 in ( LrTable.NT 19, ( result, function_term1left, function_term1right
), rest671)
end
|  ( 223, ( ( _, ( MlyValue.variable_ variable_, variable_1left, 
variable_1right)) :: rest671)) => let val  result = MlyValue.term (
( Term_Var variable_ ))
 in ( LrTable.NT 19, ( result, variable_1left, variable_1right), 
rest671)
end
|  ( 224, ( ( _, ( MlyValue.conditional_term conditional_term, 
conditional_term1left, conditional_term1right)) :: rest671)) => let
 val  result = MlyValue.term (( conditional_term ))
 in ( LrTable.NT 19, ( result, conditional_term1left, 
conditional_term1right), rest671)
end
|  ( 225, ( ( _, ( MlyValue.let_term let_term, let_term1left, 
let_term1right)) :: rest671)) => let val  result = MlyValue.term (
( let_term ))
 in ( LrTable.NT 19, ( result, let_term1left, let_term1right), rest671
)
end
|  ( 226, ( ( _, ( MlyValue.plain_term plain_term, plain_term1left, 
plain_term1right)) :: rest671)) => let val  result = 
MlyValue.function_term (( Term_Func plain_term ))
 in ( LrTable.NT 32, ( result, plain_term1left, plain_term1right), 
rest671)
end
|  ( 227, ( ( _, ( MlyValue.defined_term defined_term, 
defined_term1left, defined_term1right)) :: rest671)) => let val  
result = MlyValue.function_term (( defined_term ))
 in ( LrTable.NT 32, ( result, defined_term1left, defined_term1right),
 rest671)
end
|  ( 228, ( ( _, ( MlyValue.system_term system_term, system_term1left,
 system_term1right)) :: rest671)) => let val  result = 
MlyValue.function_term (( Term_Func system_term ))
 in ( LrTable.NT 32, ( result, system_term1left, system_term1right), 
rest671)
end
|  ( 229, ( ( _, ( MlyValue.constant constant, constant1left, 
constant1right)) :: rest671)) => let val  result = MlyValue.plain_term
 (( (constant, []) ))
 in ( LrTable.NT 31, ( result, constant1left, constant1right), rest671
)
end
|  ( 230, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.arguments 
arguments, _, _)) :: _ :: ( _, ( MlyValue.functor_ functor_, 
functor_1left, _)) :: rest671)) => let val  result = 
MlyValue.plain_term (( (functor_, arguments) ))
 in ( LrTable.NT 31, ( result, functor_1left, RPAREN1right), rest671)

end
|  ( 231, ( ( _, ( MlyValue.functor_ functor_, functor_1left, 
functor_1right)) :: rest671)) => let val  result = MlyValue.constant (
( functor_ ))
 in ( LrTable.NT 30, ( result, functor_1left, functor_1right), rest671
)
end
|  ( 232, ( ( _, ( MlyValue.atomic_word atomic_word, atomic_word1left,
 atomic_word1right)) :: rest671)) => let val  result = 
MlyValue.functor_ (( Uninterpreted atomic_word ))
 in ( LrTable.NT 18, ( result, atomic_word1left, atomic_word1right), 
rest671)
end
|  ( 233, ( ( _, ( MlyValue.defined_atom defined_atom, 
defined_atom1left, defined_atom1right)) :: rest671)) => let val  
result = MlyValue.defined_term (( defined_atom ))
 in ( LrTable.NT 29, ( result, defined_atom1left, defined_atom1right),
 rest671)
end
|  ( 234, ( ( _, ( MlyValue.defined_atomic_term defined_atomic_term, 
defined_atomic_term1left, defined_atomic_term1right)) :: rest671)) =>
 let val  result = MlyValue.defined_term (( defined_atomic_term ))
 in ( LrTable.NT 29, ( result, defined_atomic_term1left, 
defined_atomic_term1right), rest671)
end
|  ( 235, ( ( _, ( MlyValue.number number, number1left, number1right))
 :: rest671)) => let val  result = MlyValue.defined_atom (
( Term_Num number ))
 in ( LrTable.NT 28, ( result, number1left, number1right), rest671)

end
|  ( 236, ( ( _, ( MlyValue.DISTINCT_OBJECT DISTINCT_OBJECT, 
DISTINCT_OBJECT1left, DISTINCT_OBJECT1right)) :: rest671)) => let val 
 result = MlyValue.defined_atom (
( Term_Distinct_Object DISTINCT_OBJECT ))
 in ( LrTable.NT 28, ( result, DISTINCT_OBJECT1left, 
DISTINCT_OBJECT1right), rest671)
end
|  ( 237, ( ( _, ( MlyValue.defined_plain_term defined_plain_term, 
defined_plain_term1left, defined_plain_term1right)) :: rest671)) =>
 let val  result = MlyValue.defined_atomic_term (
( Term_Func defined_plain_term ))
 in ( LrTable.NT 27, ( result, defined_plain_term1left, 
defined_plain_term1right), rest671)
end
|  ( 238, ( ( _, ( MlyValue.defined_constant defined_constant, 
defined_constant1left, defined_constant1right)) :: rest671)) => let
 val  result = MlyValue.defined_plain_term (( (defined_constant, []) )
)
 in ( LrTable.NT 26, ( result, defined_constant1left, 
defined_constant1right), rest671)
end
|  ( 239, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.arguments 
arguments, _, _)) :: _ :: ( _, ( MlyValue.defined_functor 
defined_functor, defined_functor1left, _)) :: rest671)) => let val  
result = MlyValue.defined_plain_term (( (defined_functor, arguments) )
)
 in ( LrTable.NT 26, ( result, defined_functor1left, RPAREN1right), 
rest671)
end
|  ( 240, ( ( _, ( MlyValue.defined_functor defined_functor, 
defined_functor1left, defined_functor1right)) :: rest671)) => let val 
 result = MlyValue.defined_constant (( defined_functor ))
 in ( LrTable.NT 25, ( result, defined_functor1left, 
defined_functor1right), rest671)
end
|  ( 241, ( ( _, ( MlyValue.atomic_defined_word atomic_defined_word, 
atomic_defined_word1left, atomic_defined_word1right)) :: rest671)) =>
 let val  result = MlyValue.defined_functor (
(
  case atomic_defined_word of
    "$uminus" => Interpreted_ExtraLogic UMinus
  | "$sum" => Interpreted_ExtraLogic Sum
  | "$difference" => Interpreted_ExtraLogic Difference
  | "$product" => Interpreted_ExtraLogic Product
  | "$quotient" => Interpreted_ExtraLogic Quotient
  | "$quotient_e" => Interpreted_ExtraLogic Quotient_E
  | "$quotient_t" => Interpreted_ExtraLogic Quotient_T
  | "$quotient_f" => Interpreted_ExtraLogic Quotient_F
  | "$remainder_e" => Interpreted_ExtraLogic Remainder_E
  | "$remainder_t" => Interpreted_ExtraLogic Remainder_T
  | "$remainder_f" => Interpreted_ExtraLogic Remainder_F
  | "$floor" => Interpreted_ExtraLogic Floor
  | "$ceiling" => Interpreted_ExtraLogic Ceiling
  | "$truncate" => Interpreted_ExtraLogic Truncate
  | "$round" => Interpreted_ExtraLogic Round
  | "$to_int" => Interpreted_ExtraLogic To_Int
  | "$to_rat" => Interpreted_ExtraLogic To_Rat
  | "$to_real" => Interpreted_ExtraLogic To_Real

  | "$i" => TypeSymbol Type_Ind
  | "$o" => TypeSymbol Type_Bool
  | "$iType" => TypeSymbol Type_Ind
  | "$oType" => TypeSymbol Type_Bool
  | "$int" => TypeSymbol Type_Int
  | "$real" => TypeSymbol Type_Real
  | "$rat" => TypeSymbol Type_Rat
  | "$tType" => TypeSymbol Type_Type
  | "$_" => TypeSymbol Type_Dummy

  | "$true" => Interpreted_Logic True
  | "$false" => Interpreted_Logic False

  | "$less" => Interpreted_ExtraLogic Less
  | "$lesseq" => Interpreted_ExtraLogic LessEq
  | "$greatereq" => Interpreted_ExtraLogic GreaterEq
  | "$greater" => Interpreted_ExtraLogic Greater
  | "$evaleq" => Interpreted_ExtraLogic EvalEq

  | "$is_int" => Interpreted_ExtraLogic Is_Int
  | "$is_rat" => Interpreted_ExtraLogic Is_Rat

  | "$distinct" => Interpreted_ExtraLogic Distinct

  | thing => raise UNRECOGNISED_SYMBOL ("defined_functor", thing)
)
)
 in ( LrTable.NT 21, ( result, atomic_defined_word1left, 
atomic_defined_word1right), rest671)
end
|  ( 242, ( ( _, ( MlyValue.system_constant system_constant, 
system_constant1left, system_constant1right)) :: rest671)) => let val 
 result = MlyValue.system_term (( (system_constant, []) ))
 in ( LrTable.NT 24, ( result, system_constant1left, 
system_constant1right), rest671)
end
|  ( 243, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.arguments 
arguments, _, _)) :: _ :: ( _, ( MlyValue.system_functor 
system_functor, system_functor1left, _)) :: rest671)) => let val  
result = MlyValue.system_term (( (system_functor, arguments) ))
 in ( LrTable.NT 24, ( result, system_functor1left, RPAREN1right), 
rest671)
end
|  ( 244, ( ( _, ( MlyValue.system_functor system_functor, 
system_functor1left, system_functor1right)) :: rest671)) => let val  
result = MlyValue.system_constant (( system_functor ))
 in ( LrTable.NT 23, ( result, system_functor1left, 
system_functor1right), rest671)
end
|  ( 245, ( ( _, ( MlyValue.atomic_system_word atomic_system_word, 
atomic_system_word1left, atomic_system_word1right)) :: rest671)) =>
 let val  result = MlyValue.system_functor (
( System atomic_system_word ))
 in ( LrTable.NT 22, ( result, atomic_system_word1left, 
atomic_system_word1right), rest671)
end
|  ( 246, ( ( _, ( MlyValue.UPPER_WORD UPPER_WORD, UPPER_WORD1left, 
UPPER_WORD1right)) :: rest671)) => let val  result = 
MlyValue.variable_ (( UPPER_WORD ))
 in ( LrTable.NT 10, ( result, UPPER_WORD1left, UPPER_WORD1right), 
rest671)
end
|  ( 247, ( ( _, ( MlyValue.term term, term1left, term1right)) :: 
rest671)) => let val  result = MlyValue.arguments (( [term] ))
 in ( LrTable.NT 20, ( result, term1left, term1right), rest671)
end
|  ( 248, ( ( _, ( MlyValue.arguments arguments, _, arguments1right))
 :: _ :: ( _, ( MlyValue.term term, term1left, _)) :: rest671)) => let
 val  result = MlyValue.arguments (( term :: arguments ))
 in ( LrTable.NT 20, ( result, term1left, arguments1right), rest671)

end
|  ( 249, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.term term2,
 _, _)) :: _ :: ( _, ( MlyValue.term term1, _, _)) :: _ :: ( _, ( 
MlyValue.tff_logic_formula tff_logic_formula, _, _)) :: _ :: ( _, ( _,
 ITE_T1left, _)) :: rest671)) => let val  result = 
MlyValue.conditional_term (
(
  Term_Conditional (tff_logic_formula, term1, term2)
))
 in ( LrTable.NT 33, ( result, ITE_T1left, RPAREN1right), rest671)
end
|  ( 250, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.term term,
 _, _)) :: _ :: ( _, ( MlyValue.tff_let_formula_defn 
tff_let_formula_defn, _, _)) :: _ :: ( _, ( _, LET_FT1left, _)) :: 
rest671)) => let val  result = MlyValue.let_term (
(Term_Let (tff_let_formula_defn, term) ))
 in ( LrTable.NT 146, ( result, LET_FT1left, RPAREN1right), rest671)

end
|  ( 251, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.term term,
 _, _)) :: _ :: ( _, ( MlyValue.tff_let_term_defn tff_let_term_defn, _
, _)) :: _ :: ( _, ( _, LET_TT1left, _)) :: rest671)) => let val  
result = MlyValue.let_term ((Term_Let (tff_let_term_defn, term) ))
 in ( LrTable.NT 146, ( result, LET_TT1left, RPAREN1right), rest671)

end
|  ( 252, ( ( _, ( MlyValue.useful_info useful_info, _, 
useful_info1right)) :: ( _, ( _, COMMA1left, _)) :: rest671)) => let
 val  result = MlyValue.optional_info (( useful_info ))
 in ( LrTable.NT 4, ( result, COMMA1left, useful_info1right), rest671)

end
|  ( 253, ( rest671)) => let val  result = MlyValue.optional_info (
( [] ))
 in ( LrTable.NT 4, ( result, defaultPos, defaultPos), rest671)
end
|  ( 254, ( ( _, ( MlyValue.general_list general_list, 
general_list1left, general_list1right)) :: rest671)) => let val  
result = MlyValue.useful_info (( general_list ))
 in ( LrTable.NT 16, ( result, general_list1left, general_list1right),
 rest671)
end
|  ( 255, ( ( _, ( _, _, PERIOD1right)) :: _ :: ( _, ( 
MlyValue.formula_selection formula_selection, _, _)) :: ( _, ( 
MlyValue.file_name file_name, _, _)) :: _ :: ( _, ( _, (INCLUDEleft
 as INCLUDE1left), INCLUDEright)) :: rest671)) => let val  result = 
MlyValue.include_ (
(
  Include ((this_file_name, INCLUDEleft + 1, INCLUDEright + 1),
    file_name, formula_selection)
)
)
 in ( LrTable.NT 132, ( result, INCLUDE1left, PERIOD1right), rest671)

end
|  ( 256, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( MlyValue.name_list 
name_list, _, _)) :: _ :: ( _, ( _, COMMA1left, _)) :: rest671)) =>
 let val  result = MlyValue.formula_selection (( name_list  ))
 in ( LrTable.NT 3, ( result, COMMA1left, RBRKT1right), rest671)
end
|  ( 257, ( rest671)) => let val  result = MlyValue.formula_selection
 (( [] ))
 in ( LrTable.NT 3, ( result, defaultPos, defaultPos), rest671)
end
|  ( 258, ( ( _, ( MlyValue.name_list name_list, _, name_list1right))
 :: _ :: ( _, ( MlyValue.name name, name1left, _)) :: rest671)) => let
 val  result = MlyValue.name_list (( name :: name_list ))
 in ( LrTable.NT 2, ( result, name1left, name_list1right), rest671)

end
|  ( 259, ( ( _, ( MlyValue.name name, name1left, name1right)) :: 
rest671)) => let val  result = MlyValue.name_list (( [name] ))
 in ( LrTable.NT 2, ( result, name1left, name1right), rest671)
end
|  ( 260, ( ( _, ( MlyValue.general_data general_data, 
general_data1left, general_data1right)) :: rest671)) => let val  
result = MlyValue.general_term (( General_Data general_data ))
 in ( LrTable.NT 7, ( result, general_data1left, general_data1right), 
rest671)
end
|  ( 261, ( ( _, ( MlyValue.general_term general_term, _, 
general_term1right)) :: _ :: ( _, ( MlyValue.general_data general_data
, general_data1left, _)) :: rest671)) => let val  result = 
MlyValue.general_term (( General_Term (general_data, general_term) ))
 in ( LrTable.NT 7, ( result, general_data1left, general_term1right), 
rest671)
end
|  ( 262, ( ( _, ( MlyValue.general_list general_list, 
general_list1left, general_list1right)) :: rest671)) => let val  
result = MlyValue.general_term (( General_List general_list ))
 in ( LrTable.NT 7, ( result, general_list1left, general_list1right), 
rest671)
end
|  ( 263, ( ( _, ( MlyValue.atomic_word atomic_word, atomic_word1left,
 atomic_word1right)) :: rest671)) => let val  result = 
MlyValue.general_data (( Atomic_Word atomic_word ))
 in ( LrTable.NT 9, ( result, atomic_word1left, atomic_word1right), 
rest671)
end
|  ( 264, ( ( _, ( MlyValue.general_function general_function, 
general_function1left, general_function1right)) :: rest671)) => let
 val  result = MlyValue.general_data (( general_function ))
 in ( LrTable.NT 9, ( result, general_function1left, 
general_function1right), rest671)
end
|  ( 265, ( ( _, ( MlyValue.variable_ variable_, variable_1left, 
variable_1right)) :: rest671)) => let val  result = 
MlyValue.general_data (( V variable_ ))
 in ( LrTable.NT 9, ( result, variable_1left, variable_1right), 
rest671)
end
|  ( 266, ( ( _, ( MlyValue.number number, number1left, number1right))
 :: rest671)) => let val  result = MlyValue.general_data (
( Number number ))
 in ( LrTable.NT 9, ( result, number1left, number1right), rest671)
end
|  ( 267, ( ( _, ( MlyValue.DISTINCT_OBJECT DISTINCT_OBJECT, 
DISTINCT_OBJECT1left, DISTINCT_OBJECT1right)) :: rest671)) => let val 
 result = MlyValue.general_data (( Distinct_Object DISTINCT_OBJECT ))
 in ( LrTable.NT 9, ( result, DISTINCT_OBJECT1left, 
DISTINCT_OBJECT1right), rest671)
end
|  ( 268, ( ( _, ( MlyValue.formula_data formula_data, 
formula_data1left, formula_data1right)) :: rest671)) => let val  
result = MlyValue.general_data (( formula_data ))
 in ( LrTable.NT 9, ( result, formula_data1left, formula_data1right), 
rest671)
end
|  ( 269, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
MlyValue.general_terms general_terms, _, _)) :: _ :: ( _, ( 
MlyValue.atomic_word atomic_word, atomic_word1left, _)) :: rest671))
 => let val  result = MlyValue.general_function (
( Application (atomic_word, general_terms) ))
 in ( LrTable.NT 15, ( result, atomic_word1left, RPAREN1right), 
rest671)
end
|  ( 270, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.thf_formula
 thf_formula, _, _)) :: _ :: ( _, ( _, DTHF1left, _)) :: rest671)) =>
 let val  result = MlyValue.formula_data (
( Formula_Data (THF, thf_formula) ))
 in ( LrTable.NT 12, ( result, DTHF1left, RPAREN1right), rest671)
end
|  ( 271, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.tff_formula
 tff_formula, _, _)) :: _ :: ( _, ( _, DTFF1left, _)) :: rest671)) =>
 let val  result = MlyValue.formula_data (
( Formula_Data (TFF, tff_formula) ))
 in ( LrTable.NT 12, ( result, DTFF1left, RPAREN1right), rest671)
end
|  ( 272, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.fof_formula
 fof_formula, _, _)) :: _ :: ( _, ( _, DFOF1left, _)) :: rest671)) =>
 let val  result = MlyValue.formula_data (
( Formula_Data (FOF, fof_formula) ))
 in ( LrTable.NT 12, ( result, DFOF1left, RPAREN1right), rest671)
end
|  ( 273, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.cnf_formula
 cnf_formula, _, _)) :: _ :: ( _, ( _, DCNF1left, _)) :: rest671)) =>
 let val  result = MlyValue.formula_data (
( Formula_Data (CNF, cnf_formula) ))
 in ( LrTable.NT 12, ( result, DCNF1left, RPAREN1right), rest671)
end
|  ( 274, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.term term,
 _, _)) :: _ :: ( _, ( _, DFOT1left, _)) :: rest671)) => let val  
result = MlyValue.formula_data (( Term_Data term ))
 in ( LrTable.NT 12, ( result, DFOT1left, RPAREN1right), rest671)
end
|  ( 275, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( 
MlyValue.general_terms general_terms, _, _)) :: ( _, ( _, LBRKT1left,
 _)) :: rest671)) => let val  result = MlyValue.general_list (
( general_terms ))
 in ( LrTable.NT 5, ( result, LBRKT1left, RBRKT1right), rest671)
end
|  ( 276, ( ( _, ( _, _, RBRKT1right)) :: ( _, ( _, LBRKT1left, _)) ::
 rest671)) => let val  result = MlyValue.general_list (( [] ))
 in ( LrTable.NT 5, ( result, LBRKT1left, RBRKT1right), rest671)
end
|  ( 277, ( ( _, ( MlyValue.general_terms general_terms, _, 
general_terms1right)) :: _ :: ( _, ( MlyValue.general_term 
general_term, general_term1left, _)) :: rest671)) => let val  result =
 MlyValue.general_terms (( general_term :: general_terms ))
 in ( LrTable.NT 6, ( result, general_term1left, general_terms1right),
 rest671)
end
|  ( 278, ( ( _, ( MlyValue.general_term general_term, 
general_term1left, general_term1right)) :: rest671)) => let val  
result = MlyValue.general_terms (( [general_term] ))
 in ( LrTable.NT 6, ( result, general_term1left, general_term1right), 
rest671)
end
|  ( 279, ( ( _, ( MlyValue.atomic_word atomic_word, atomic_word1left,
 atomic_word1right)) :: rest671)) => let val  result = MlyValue.name (
( atomic_word ))
 in ( LrTable.NT 1, ( result, atomic_word1left, atomic_word1right), 
rest671)
end
|  ( 280, ( ( _, ( MlyValue.integer integer, integer1left, 
integer1right)) :: rest671)) => let val  result = MlyValue.name (
( integer ))
 in ( LrTable.NT 1, ( result, integer1left, integer1right), rest671)

end
|  ( 281, ( ( _, ( MlyValue.LOWER_WORD LOWER_WORD, LOWER_WORD1left, 
LOWER_WORD1right)) :: rest671)) => let val  result = 
MlyValue.atomic_word (( LOWER_WORD ))
 in ( LrTable.NT 8, ( result, LOWER_WORD1left, LOWER_WORD1right), 
rest671)
end
|  ( 282, ( ( _, ( MlyValue.SINGLE_QUOTED SINGLE_QUOTED, 
SINGLE_QUOTED1left, SINGLE_QUOTED1right)) :: rest671)) => let val  
result = MlyValue.atomic_word (( dequote SINGLE_QUOTED ))
 in ( LrTable.NT 8, ( result, SINGLE_QUOTED1left, SINGLE_QUOTED1right)
, rest671)
end
|  ( 283, ( ( _, ( _, THF1left, THF1right)) :: rest671)) => let val  
result = MlyValue.atomic_word (( "thf" ))
 in ( LrTable.NT 8, ( result, THF1left, THF1right), rest671)
end
|  ( 284, ( ( _, ( _, TFF1left, TFF1right)) :: rest671)) => let val  
result = MlyValue.atomic_word (( "tff" ))
 in ( LrTable.NT 8, ( result, TFF1left, TFF1right), rest671)
end
|  ( 285, ( ( _, ( _, FOF1left, FOF1right)) :: rest671)) => let val  
result = MlyValue.atomic_word (( "fof" ))
 in ( LrTable.NT 8, ( result, FOF1left, FOF1right), rest671)
end
|  ( 286, ( ( _, ( _, CNF1left, CNF1right)) :: rest671)) => let val  
result = MlyValue.atomic_word (( "cnf" ))
 in ( LrTable.NT 8, ( result, CNF1left, CNF1right), rest671)
end
|  ( 287, ( ( _, ( _, INCLUDE1left, INCLUDE1right)) :: rest671)) =>
 let val  result = MlyValue.atomic_word (( "include" ))
 in ( LrTable.NT 8, ( result, INCLUDE1left, INCLUDE1right), rest671)

end
|  ( 288, ( ( _, ( MlyValue.DOLLAR_WORD DOLLAR_WORD, DOLLAR_WORD1left,
 DOLLAR_WORD1right)) :: rest671)) => let val  result = 
MlyValue.atomic_defined_word (( DOLLAR_WORD ))
 in ( LrTable.NT 147, ( result, DOLLAR_WORD1left, DOLLAR_WORD1right), 
rest671)
end
|  ( 289, ( ( _, ( MlyValue.DOLLAR_DOLLAR_WORD DOLLAR_DOLLAR_WORD, 
DOLLAR_DOLLAR_WORD1left, DOLLAR_DOLLAR_WORD1right)) :: rest671)) =>
 let val  result = MlyValue.atomic_system_word (( DOLLAR_DOLLAR_WORD )
)
 in ( LrTable.NT 148, ( result, DOLLAR_DOLLAR_WORD1left, 
DOLLAR_DOLLAR_WORD1right), rest671)
end
|  ( 290, ( ( _, ( MlyValue.UNSIGNED_INTEGER UNSIGNED_INTEGER, 
UNSIGNED_INTEGER1left, UNSIGNED_INTEGER1right)) :: rest671)) => let
 val  result = MlyValue.integer (( UNSIGNED_INTEGER ))
 in ( LrTable.NT 13, ( result, UNSIGNED_INTEGER1left, 
UNSIGNED_INTEGER1right), rest671)
end
|  ( 291, ( ( _, ( MlyValue.SIGNED_INTEGER SIGNED_INTEGER, 
SIGNED_INTEGER1left, SIGNED_INTEGER1right)) :: rest671)) => let val  
result = MlyValue.integer (( SIGNED_INTEGER ))
 in ( LrTable.NT 13, ( result, SIGNED_INTEGER1left, 
SIGNED_INTEGER1right), rest671)
end
|  ( 292, ( ( _, ( MlyValue.integer integer, integer1left, 
integer1right)) :: rest671)) => let val  result = MlyValue.number (
( (Int_num, integer) ))
 in ( LrTable.NT 11, ( result, integer1left, integer1right), rest671)

end
|  ( 293, ( ( _, ( MlyValue.REAL REAL, REAL1left, REAL1right)) :: 
rest671)) => let val  result = MlyValue.number (( (Real_num, REAL) ))
 in ( LrTable.NT 11, ( result, REAL1left, REAL1right), rest671)
end
|  ( 294, ( ( _, ( MlyValue.RATIONAL RATIONAL, RATIONAL1left, 
RATIONAL1right)) :: rest671)) => let val  result = MlyValue.number (
( (Rat_num, RATIONAL) ))
 in ( LrTable.NT 11, ( result, RATIONAL1left, RATIONAL1right), rest671
)
end
|  ( 295, ( ( _, ( MlyValue.SINGLE_QUOTED SINGLE_QUOTED, 
SINGLE_QUOTED1left, SINGLE_QUOTED1right)) :: rest671)) => let val  
result = MlyValue.file_name (( SINGLE_QUOTED ))
 in ( LrTable.NT 17, ( result, SINGLE_QUOTED1left, SINGLE_QUOTED1right
), rest671)
end
| _ => raise (mlyAction i392)
end
val void = MlyValue.VOID
val extract = fn a => (fn MlyValue.tptp x => x
| _ => let exception ParseInternal
        in raise ParseInternal end) a 
end
end
structure Tokens : TPTP_TOKENS =
struct
type svalue = ParserData.svalue
type ('a,'b) token = ('a,'b) Token.token
fun AMPERSAND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(
ParserData.MlyValue.VOID,p1,p2))
fun AT_SIGN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
ParserData.MlyValue.VOID,p1,p2))
fun CARET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
ParserData.MlyValue.VOID,p1,p2))
fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
ParserData.MlyValue.VOID,p1,p2))
fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
ParserData.MlyValue.VOID,p1,p2))
fun EQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
ParserData.MlyValue.VOID,p1,p2))
fun EXCLAMATION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
ParserData.MlyValue.VOID,p1,p2))
fun LET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
ParserData.MlyValue.VOID,p1,p2))
fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
ParserData.MlyValue.VOID,p1,p2))
fun FI (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
ParserData.MlyValue.VOID,p1,p2))
fun IFF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
ParserData.MlyValue.VOID,p1,p2))
fun IMPLIES (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
ParserData.MlyValue.VOID,p1,p2))
fun INCLUDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
ParserData.MlyValue.VOID,p1,p2))
fun LAMBDA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
ParserData.MlyValue.VOID,p1,p2))
fun LBRKT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
ParserData.MlyValue.VOID,p1,p2))
fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
ParserData.MlyValue.VOID,p1,p2))
fun MAP_TO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
ParserData.MlyValue.VOID,p1,p2))
fun MMINUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
ParserData.MlyValue.VOID,p1,p2))
fun NAND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
ParserData.MlyValue.VOID,p1,p2))
fun NEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
ParserData.MlyValue.VOID,p1,p2))
fun XOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
ParserData.MlyValue.VOID,p1,p2))
fun NOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
ParserData.MlyValue.VOID,p1,p2))
fun PERIOD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
ParserData.MlyValue.VOID,p1,p2))
fun PPLUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
ParserData.MlyValue.VOID,p1,p2))
fun QUESTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
ParserData.MlyValue.VOID,p1,p2))
fun RBRKT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
ParserData.MlyValue.VOID,p1,p2))
fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
ParserData.MlyValue.VOID,p1,p2))
fun TILDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
ParserData.MlyValue.VOID,p1,p2))
fun TOK_FALSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
ParserData.MlyValue.VOID,p1,p2))
fun TOK_I (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
ParserData.MlyValue.VOID,p1,p2))
fun TOK_O (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
ParserData.MlyValue.VOID,p1,p2))
fun TOK_INT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
ParserData.MlyValue.VOID,p1,p2))
fun TOK_REAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
ParserData.MlyValue.VOID,p1,p2))
fun TOK_RAT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
ParserData.MlyValue.VOID,p1,p2))
fun TOK_TRUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
ParserData.MlyValue.VOID,p1,p2))
fun TOK_TYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
ParserData.MlyValue.VOID,p1,p2))
fun VLINE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
ParserData.MlyValue.VOID,p1,p2))
fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
ParserData.MlyValue.VOID,p1,p2))
fun DTHF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
ParserData.MlyValue.VOID,p1,p2))
fun DFOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
ParserData.MlyValue.VOID,p1,p2))
fun DCNF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
ParserData.MlyValue.VOID,p1,p2))
fun DFOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
ParserData.MlyValue.VOID,p1,p2))
fun DTFF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
ParserData.MlyValue.VOID,p1,p2))
fun REAL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
ParserData.MlyValue.REAL i,p1,p2))
fun RATIONAL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
ParserData.MlyValue.RATIONAL i,p1,p2))
fun SIGNED_INTEGER (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
ParserData.MlyValue.SIGNED_INTEGER i,p1,p2))
fun UNSIGNED_INTEGER (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 46
,(ParserData.MlyValue.UNSIGNED_INTEGER i,p1,p2))
fun DOT_DECIMAL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
ParserData.MlyValue.DOT_DECIMAL i,p1,p2))
fun SINGLE_QUOTED (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
ParserData.MlyValue.SINGLE_QUOTED i,p1,p2))
fun UPPER_WORD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
ParserData.MlyValue.UPPER_WORD i,p1,p2))
fun LOWER_WORD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
ParserData.MlyValue.LOWER_WORD i,p1,p2))
fun COMMENT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
ParserData.MlyValue.COMMENT i,p1,p2))
fun DISTINCT_OBJECT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
ParserData.MlyValue.DISTINCT_OBJECT i,p1,p2))
fun DUD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
ParserData.MlyValue.VOID,p1,p2))
fun INDEF_CHOICE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
ParserData.MlyValue.VOID,p1,p2))
fun DEFIN_CHOICE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
ParserData.MlyValue.VOID,p1,p2))
fun OPERATOR_FORALL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
ParserData.MlyValue.VOID,p1,p2))
fun OPERATOR_EXISTS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
ParserData.MlyValue.VOID,p1,p2))
fun PLUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
ParserData.MlyValue.VOID,p1,p2))
fun TIMES (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
ParserData.MlyValue.VOID,p1,p2))
fun GENTZEN_ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
ParserData.MlyValue.VOID,p1,p2))
fun DEP_SUM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
ParserData.MlyValue.VOID,p1,p2))
fun DEP_PROD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
ParserData.MlyValue.VOID,p1,p2))
fun DOLLAR_WORD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
ParserData.MlyValue.DOLLAR_WORD i,p1,p2))
fun DOLLAR_DOLLAR_WORD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 
64,(ParserData.MlyValue.DOLLAR_DOLLAR_WORD i,p1,p2))
fun SUBTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
ParserData.MlyValue.VOID,p1,p2))
fun LET_TERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
ParserData.MlyValue.VOID,p1,p2))
fun THF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
ParserData.MlyValue.VOID,p1,p2))
fun TFF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
ParserData.MlyValue.VOID,p1,p2))
fun FOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
ParserData.MlyValue.VOID,p1,p2))
fun CNF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
ParserData.MlyValue.VOID,p1,p2))
fun ITE_F (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
ParserData.MlyValue.VOID,p1,p2))
fun ITE_T (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
ParserData.MlyValue.VOID,p1,p2))
fun LET_TF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
ParserData.MlyValue.VOID,p1,p2))
fun LET_FF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
ParserData.MlyValue.VOID,p1,p2))
fun LET_FT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
ParserData.MlyValue.VOID,p1,p2))
fun LET_TT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
ParserData.MlyValue.VOID,p1,p2))
end
end

Messung V0.5 in Prozent
C=100 H=100 G=100

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.133Bemerkung:  (vorverarbeitet am  2026-04-28) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.