From a73e3b4e3fdb6b563dddaa7f67d5fe69e65ca752 Mon Sep 17 00:00:00 2001
From: Johan Berntsson
Date: Tue, 8 Jul 2008 03:02:11 +0000
Subject: another patch from Mike: the llscript compiler is now available in
XEngine as well. Thanks Mike
---
.../DotNetEngine/Compiler/LSL/lsl.lexer.cs | 2 +
.../DotNetEngine/Compiler/LSL/lsl.parser.cs | 2 +
.../Shared/CodeTools/CSCodeGenerator.cs | 803 +
.../ScriptEngine/Shared/CodeTools/Compiler.cs | 3 +
.../Shared/CodeTools/LSL2CSCodeTransformer.cs | 186 +
.../ScriptEngine/Shared/CodeTools/lsl.lexer.cs | 18714 +++++++++++++++++++
.../ScriptEngine/Shared/CodeTools/lsl.parser.cs | 9803 ++++++++++
7 files changed, 29513 insertions(+)
create mode 100644 OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs
create mode 100644 OpenSim/Region/ScriptEngine/Shared/CodeTools/LSL2CSCodeTransformer.cs
create mode 100644 OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.lexer.cs
create mode 100644 OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs
(limited to 'OpenSim')
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/lsl.lexer.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/lsl.lexer.cs
index 5d66d5c..f78c801 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/lsl.lexer.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/lsl.lexer.cs
@@ -26,6 +26,7 @@
*/
using System;using Tools;
+namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL {
//%+STRING_CONSTANT+3
public class STRING_CONSTANT : TOKEN{
public override string yyname { get { return "STRING_CONSTANT"; }}
@@ -18710,3 +18711,4 @@ public LSLTokens(YyLexer tks):base(tks){}
public string str;
}
+}
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/lsl.parser.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/lsl.parser.cs
index 61118b2..3c63610 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/lsl.parser.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/lsl.parser.cs
@@ -26,6 +26,7 @@
*/
using System;using Tools;
+namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL {
//%+LSLProgramRoot+95
public class LSLProgramRoot : SYMBOL{
public LSLProgramRoot (Parser yyp, States s ):base(((LSLSyntax
@@ -9799,3 +9800,4 @@ public LSLSyntax
(YyParser syms,ErrorHandler erh):base(syms,new LSLTokens(erh)) {}
}
+}
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs
new file mode 100644
index 0000000..78c636e
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs
@@ -0,0 +1,803 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSim Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.IO;
+using System.Collections.Generic;
+using Tools;
+
+namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
+{
+ public class CSCodeGenerator
+ {
+ private SYMBOL m_astRoot = null;
+ private int m_braceCount; // for indentation
+
+ ///
+ /// Pass the new CodeGenerator a string containing the LSL source.
+ ///
+ /// String containing LSL source.
+ public CSCodeGenerator(string script)
+ {
+ Parser p = new LSLSyntax();
+ // Obviously this needs to be in a try/except block.
+ LSL2CSCodeTransformer codeTransformer = new LSL2CSCodeTransformer(p.Parse(script));
+ m_astRoot = codeTransformer.Transform();
+ }
+
+ ///
+ /// Pass the new CodeGenerator an abstract syntax tree.
+ ///
+ /// The root node of the AST.
+ public CSCodeGenerator(SYMBOL astRoot)
+ {
+ m_braceCount = 0;
+ m_astRoot = astRoot;
+ }
+
+ ///
+ /// Generate the code from the AST we have.
+ ///
+ /// String containing the generated C# code.
+ public string Generate()
+ {
+ string retstr = String.Empty;
+
+ // standard preamble
+ //retstr = "using OpenSim.Region.ScriptEngine.Common;\n";
+ //retstr += "using System.Collections.Generic;\n\n";
+ //retstr += "namespace SecondLife\n";
+ //retstr += "{\n";
+ //retstr += " public class Script : OpenSim.Region.ScriptEngine.Common\n";
+ //retstr += " {\n";
+
+ // here's the payload
+ m_braceCount += 2;
+ retstr += "\n";
+ foreach (SYMBOL s in m_astRoot.kids)
+ retstr += GenerateNode(s);
+
+ // close braces!
+ //retstr += " }\n";
+ //retstr += "}\n";
+ m_braceCount -= 2;
+
+ return retstr;
+ }
+
+ ///
+ /// Recursively called to generate each type of node. Will generate this
+ /// node, then all it's children.
+ ///
+ /// The current node to generate code for.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateNode(SYMBOL s)
+ {
+ string retstr = String.Empty;
+
+ // make sure to put type lower in the inheritance hierarchy first
+ // ie: since IdentArgument and ExpressionArgument inherit from
+ // Argument, put IdentArgument and ExpressionArgument before Argument
+ if (s is GlobalFunctionDefinition)
+ retstr += GenerateGlobalFunctionDefinition((GlobalFunctionDefinition) s);
+ else if (s is GlobalVariableDeclaration)
+ retstr += GenerateGlobalVariableDeclaration((GlobalVariableDeclaration) s);
+ else if (s is State)
+ retstr += GenerateState((State) s);
+ else if (s is CompoundStatement)
+ retstr += GenerateCompoundStatement((CompoundStatement) s);
+ else if (s is Declaration)
+ retstr += GenerateDeclaration((Declaration) s);
+ else if (s is Statement)
+ retstr += GenerateStatement((Statement) s);
+ else if (s is ReturnStatement)
+ retstr += GenerateReturnStatement((ReturnStatement) s);
+ else if (s is JumpLabel)
+ retstr += GenerateJumpLabel((JumpLabel) s);
+ else if (s is JumpStatement)
+ retstr += GenerateJumpStatement((JumpStatement) s);
+ else if (s is StateChange)
+ retstr += GenerateStateChange((StateChange) s);
+ else if (s is IfStatement)
+ retstr += GenerateIfStatement((IfStatement) s);
+ else if (s is WhileStatement)
+ retstr += GenerateWhileStatement((WhileStatement) s);
+ else if (s is DoWhileStatement)
+ retstr += GenerateDoWhileStatement((DoWhileStatement) s);
+ else if (s is ForLoop)
+ retstr += GenerateForLoop((ForLoop) s);
+ else if (s is ArgumentList)
+ retstr += GenerateArgumentList((ArgumentList) s);
+ else if (s is Assignment)
+ retstr += GenerateAssignment((Assignment) s);
+ else if (s is BinaryExpression)
+ retstr += GenerateBinaryExpression((BinaryExpression) s);
+ else if (s is ParenthesisExpression)
+ retstr += GenerateParenthesisExpression((ParenthesisExpression) s);
+ else if (s is UnaryExpression)
+ retstr += GenerateUnaryExpression((UnaryExpression) s);
+ else if (s is IncrementDecrementExpression)
+ retstr += GenerateIncrementDecrementExpression((IncrementDecrementExpression) s);
+ else if (s is TypecastExpression)
+ retstr += GenerateTypecastExpression((TypecastExpression) s);
+ else if (s is FunctionCall)
+ retstr += GenerateFunctionCall((FunctionCall) s);
+ else if (s is VectorConstant)
+ retstr += GenerateVectorConstant((VectorConstant) s);
+ else if (s is RotationConstant)
+ retstr += GenerateRotationConstant((RotationConstant) s);
+ else if (s is ListConstant)
+ retstr += GenerateListConstant((ListConstant) s);
+ else if (s is Constant)
+ retstr += GenerateConstant((Constant) s);
+ else if (s is IdentDotExpression)
+ retstr += ((IdentDotExpression) s).Name + "." + ((IdentDotExpression) s).Member;
+ else if (s is IdentExpression)
+ retstr += ((IdentExpression) s).Name;
+ else if (s is IDENT)
+ retstr += ((TOKEN) s).yytext;
+ else
+ {
+ foreach (SYMBOL kid in s.kids)
+ retstr += GenerateNode(kid);
+ }
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a GlobalFunctionDefinition node.
+ ///
+ /// The GlobalFunctionDefinition node.
+ /// String containing C# code for GlobalFunctionDefinition gf.
+ private string GenerateGlobalFunctionDefinition(GlobalFunctionDefinition gf)
+ {
+ string retstr = String.Empty;
+
+ // we need to separate the argument declaration list from other kids
+ List argumentDeclarationListKids = new List();
+ List remainingKids = new List();
+
+ foreach (SYMBOL kid in gf.kids)
+ if (kid is ArgumentDeclarationList)
+ argumentDeclarationListKids.Add(kid);
+ else
+ remainingKids.Add(kid);
+
+ retstr += WriteIndented(String.Format("{0} {1}(", gf.ReturnType, gf.Name));
+
+ // print the state arguments, if any
+ foreach (SYMBOL kid in argumentDeclarationListKids)
+ retstr += GenerateArgumentDeclarationList((ArgumentDeclarationList) kid);
+
+ retstr += ")\n";
+
+ foreach (SYMBOL kid in remainingKids)
+ retstr += GenerateNode(kid);
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a GlobalVariableDeclaration node.
+ ///
+ /// The GlobalVariableDeclaration node.
+ /// String containing C# code for GlobalVariableDeclaration gv.
+ private string GenerateGlobalVariableDeclaration(GlobalVariableDeclaration gv)
+ {
+ string retstr = String.Empty;
+
+ foreach (SYMBOL s in gv.kids)
+ {
+ retstr += Indent();
+ retstr += GenerateNode(s);
+ retstr += ";\n";
+ }
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a State node.
+ ///
+ /// The State node.
+ /// String containing C# code for State s.
+ private string GenerateState(State s)
+ {
+ string retstr = String.Empty;
+
+ foreach (SYMBOL kid in s.kids)
+ if (kid is StateEvent)
+ retstr += GenerateStateEvent((StateEvent) kid, s.Name);
+ else
+ retstr += String.Format("ERROR: State '{0}' contains a '{1}\n", s.Name, kid.GetType());
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a StateEvent node.
+ ///
+ /// The StateEvent node.
+ /// The name of the parent state.
+ /// String containing C# code for StateEvent se.
+ private string GenerateStateEvent(StateEvent se, string parentStateName)
+ {
+ string retstr = String.Empty;
+
+ // we need to separate the argument declaration list from other kids
+ List argumentDeclarationListKids = new List();
+ List remainingKids = new List();
+
+ foreach (SYMBOL kid in se.kids)
+ if (kid is ArgumentDeclarationList)
+ argumentDeclarationListKids.Add(kid);
+ else
+ remainingKids.Add(kid);
+
+ // "state" (function) declaration
+ retstr += WriteIndented(String.Format("public void {0}_event_{1}(", parentStateName, se.Name));
+
+ // print the state arguments, if any
+ foreach (SYMBOL kid in argumentDeclarationListKids)
+ retstr += GenerateArgumentDeclarationList((ArgumentDeclarationList) kid);
+
+ retstr += ")\n";
+
+ foreach (SYMBOL kid in remainingKids)
+ retstr += GenerateNode(kid);
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for an ArgumentDeclarationList node.
+ ///
+ /// The ArgumentDeclarationList node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateArgumentDeclarationList(ArgumentDeclarationList adl)
+ {
+ string retstr = String.Empty;
+
+ int comma = adl.kids.Count - 1; // tells us whether to print a comma
+
+ foreach (Declaration d in adl.kids)
+ {
+ retstr += String.Format("{0} {1}", d.Datatype, d.Id);
+ if (0 < comma--)
+ retstr += ", ";
+ }
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for an ArgumentList node.
+ ///
+ /// The ArgumentList node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateArgumentList(ArgumentList al)
+ {
+ string retstr = String.Empty;
+
+ int comma = al.kids.Count - 1; // tells us whether to print a comma
+
+ foreach (SYMBOL s in al.kids)
+ {
+ retstr += GenerateNode(s);
+ if (0 < comma--)
+ retstr += ", ";
+ }
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a CompoundStatement node.
+ ///
+ /// The CompoundStatement node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateCompoundStatement(CompoundStatement cs)
+ {
+ string retstr = String.Empty;
+
+ // opening brace
+ retstr += WriteIndentedLine("{");
+ m_braceCount++;
+
+ foreach (SYMBOL kid in cs.kids)
+ retstr += GenerateNode(kid);
+
+ // closing brace
+ m_braceCount--;
+ retstr += WriteIndentedLine("}");
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a Declaration node.
+ ///
+ /// The Declaration node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateDeclaration(Declaration d)
+ {
+ return String.Format("{0} {1}", d.Datatype, d.Id);
+ }
+
+ ///
+ /// Generates the code for a Statement node.
+ ///
+ /// The Statement node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateStatement(Statement s)
+ {
+ string retstr = String.Empty;
+
+ // Jump label prints its own colon, we don't need a semicolon.
+ bool printSemicolon = !(s.kids.Top is JumpLabel);
+
+ retstr += Indent();
+
+ foreach (SYMBOL kid in s.kids)
+ retstr += GenerateNode(kid);
+
+ if (printSemicolon)
+ retstr += ";\n";
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for an Assignment node.
+ ///
+ /// The Assignment node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateAssignment(Assignment a)
+ {
+ string retstr = String.Empty;
+
+ retstr += GenerateNode((SYMBOL) a.kids.Pop());
+ retstr +=String.Format(" {0} ", a.AssignmentType);
+ foreach (SYMBOL kid in a.kids)
+ retstr += GenerateNode(kid);
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a ReturnStatement node.
+ ///
+ /// The ReturnStatement node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateReturnStatement(ReturnStatement rs)
+ {
+ string retstr = String.Empty;
+
+ retstr += "return ";
+
+ foreach (SYMBOL kid in rs.kids)
+ retstr += GenerateNode(kid);
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a JumpLabel node.
+ ///
+ /// The JumpLabel node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateJumpLabel(JumpLabel jl)
+ {
+ return String.Format("{0}:\n", jl.LabelName);
+ }
+
+ ///
+ /// Generates the code for a JumpStatement node.
+ ///
+ /// The JumpStatement node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateJumpStatement(JumpStatement js)
+ {
+ return String.Format("goto {0}", js.TargetName);
+ }
+
+ ///
+ /// Generates the code for a IfStatement node.
+ ///
+ /// The IfStatement node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateIfStatement(IfStatement ifs)
+ {
+ string retstr = String.Empty;
+
+ retstr += WriteIndented("if (");
+ retstr += GenerateNode((SYMBOL) ifs.kids.Pop());
+ retstr += ")\n";
+
+ // CompoundStatement handles indentation itself but we need to do it
+ // otherwise.
+ bool indentHere = ifs.kids.Top is Statement;
+ if (indentHere) m_braceCount++;
+ retstr += GenerateNode((SYMBOL) ifs.kids.Pop());
+ if (indentHere) m_braceCount--;
+
+ if (0 < ifs.kids.Count) // do it again for an else
+ {
+ retstr += WriteIndentedLine("else");
+
+ indentHere = ifs.kids.Top is Statement;
+ if (indentHere) m_braceCount++;
+ retstr += GenerateNode((SYMBOL) ifs.kids.Pop());
+ if (indentHere) m_braceCount--;
+ }
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a StateChange node.
+ ///
+ /// The StateChange node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateStateChange(StateChange sc)
+ {
+ return String.Format("state(\"{0}\")", sc.NewState);
+ }
+
+ ///
+ /// Generates the code for a WhileStatement node.
+ ///
+ /// The WhileStatement node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateWhileStatement(WhileStatement ws)
+ {
+ string retstr = String.Empty;
+
+ retstr += WriteIndented("while (");
+ retstr += GenerateNode((SYMBOL) ws.kids.Pop());
+ retstr += ")\n";
+
+ // CompoundStatement handles indentation itself but we need to do it
+ // otherwise.
+ bool indentHere = ws.kids.Top is Statement;
+ if (indentHere) m_braceCount++;
+ retstr += GenerateNode((SYMBOL) ws.kids.Pop());
+ if (indentHere) m_braceCount--;
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a DoWhileStatement node.
+ ///
+ /// The DoWhileStatement node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateDoWhileStatement(DoWhileStatement dws)
+ {
+ string retstr = String.Empty;
+
+ retstr += WriteIndentedLine("do");
+
+ // CompoundStatement handles indentation itself but we need to do it
+ // otherwise.
+ bool indentHere = dws.kids.Top is Statement;
+ if (indentHere) m_braceCount++;
+ retstr += GenerateNode((SYMBOL) dws.kids.Pop());
+ if (indentHere) m_braceCount--;
+
+ retstr += WriteIndented("while (");
+ retstr += GenerateNode((SYMBOL) dws.kids.Pop());
+ retstr += ");\n";
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a ForLoop node.
+ ///
+ /// The ForLoop node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateForLoop(ForLoop fl)
+ {
+ string retstr = String.Empty;
+
+ retstr += WriteIndented("for (");
+
+ // for ( x = 0 ; x < 10 ; x++ )
+ // ^^^^^^^
+ retstr += GenerateForLoopStatement((ForLoopStatement) fl.kids.Pop());
+ retstr += "; ";
+ // for ( x = 0 ; x < 10 ; x++ )
+ // ^^^^^^^^
+ retstr += GenerateNode((SYMBOL) fl.kids.Pop());
+ retstr += "; ";
+ // for ( x = 0 ; x < 10 ; x++ )
+ // ^^^^^
+ retstr += GenerateForLoopStatement((ForLoopStatement) fl.kids.Pop());
+ retstr += ")\n";
+
+ // CompoundStatement handles indentation itself but we need to do it
+ // otherwise.
+ bool indentHere = fl.kids.Top is Statement;
+ if (indentHere) m_braceCount++;
+ retstr += GenerateNode((SYMBOL) fl.kids.Pop());
+ if (indentHere) m_braceCount--;
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a ForLoopStatement node.
+ ///
+ /// The ForLoopStatement node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateForLoopStatement(ForLoopStatement fls)
+ {
+ string retstr = String.Empty;
+
+ int comma = fls.kids.Count - 1; // tells us whether to print a comma
+
+ foreach (SYMBOL s in fls.kids)
+ {
+ retstr += GenerateNode(s);
+ if (0 < comma--)
+ retstr += ", ";
+ }
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a BinaryExpression node.
+ ///
+ /// The BinaryExpression node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateBinaryExpression(BinaryExpression be)
+ {
+ string retstr = String.Empty;
+
+ retstr += GenerateNode((SYMBOL) be.kids.Pop());
+ retstr += String.Format(" {0} ", be.ExpressionSymbol);
+ foreach (SYMBOL kid in be.kids)
+ retstr += GenerateNode(kid);
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a UnaryExpression node.
+ ///
+ /// The UnaryExpression node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateUnaryExpression(UnaryExpression ue)
+ {
+ string retstr = String.Empty;
+
+ retstr += ue.UnarySymbol;
+ retstr += GenerateNode((SYMBOL) ue.kids.Pop());
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a ParenthesisExpression node.
+ ///
+ /// The ParenthesisExpression node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateParenthesisExpression(ParenthesisExpression pe)
+ {
+ string retstr = String.Empty;
+
+ retstr += "(";
+ foreach (SYMBOL kid in pe.kids)
+ retstr += GenerateNode(kid);
+ retstr += ")";
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a IncrementDecrementExpression node.
+ ///
+ /// The IncrementDecrementExpression node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateIncrementDecrementExpression(IncrementDecrementExpression ide)
+ {
+ string retstr = String.Empty;
+
+ if (0 < ide.kids.Count)
+ {
+ IdentDotExpression dot = (IdentDotExpression) ide.kids.Top;
+ retstr += String.Format("{0}", ide.PostOperation ? dot.Name + "." + dot.Member + ide.Operation : ide.Operation + dot.Name + "." + dot.Member);
+ }
+ else
+ retstr += String.Format("{0}", ide.PostOperation ? ide.Name + ide.Operation : ide.Operation + ide.Name);
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a TypecastExpression node.
+ ///
+ /// The TypecastExpression node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateTypecastExpression(TypecastExpression te)
+ {
+ string retstr = String.Empty;
+
+ // we wrap all typecasted statements in parentheses
+ retstr += String.Format("({0}) (", te.TypecastType);
+ retstr += GenerateNode((SYMBOL) te.kids.Pop());
+ retstr += ")";
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a FunctionCall node.
+ ///
+ /// The FunctionCall node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateFunctionCall(FunctionCall fc)
+ {
+ string retstr = String.Empty;
+
+ retstr += String.Format("{0}(", fc.Id);
+
+ foreach (SYMBOL kid in fc.kids)
+ retstr += GenerateNode(kid);
+
+ retstr += ")";
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a Constant node.
+ ///
+ /// The Constant node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateConstant(Constant c)
+ {
+ string retstr = String.Empty;
+
+ // Supprt LSL's weird acceptance of floats with no trailing digits
+ // after the period. Turn float x = 10.; into float x = 10.0;
+ if ("LSL_Types.LSLFloat" == c.Type)
+ {
+ int dotIndex = c.Value.IndexOf('.') + 1;
+ if (0 < dotIndex && (dotIndex == c.Value.Length || !Char.IsDigit(c.Value[dotIndex])))
+ c.Value = c.Value.Insert(dotIndex, "0");
+ }
+
+ // need to quote strings
+ if ("LSL_Types.LSLString" == c.Type)
+ retstr += "\"";
+ retstr += c.Value;
+ if ("LSL_Types.LSLString" == c.Type)
+ retstr += "\"";
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a VectorConstant node.
+ ///
+ /// The VectorConstant node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateVectorConstant(VectorConstant vc)
+ {
+ string retstr = String.Empty;
+
+ retstr += String.Format("new {0}(", vc.Type);
+ retstr += GenerateNode((SYMBOL) vc.kids.Pop());
+ retstr += ", ";
+ retstr += GenerateNode((SYMBOL) vc.kids.Pop());
+ retstr += ", ";
+ retstr += GenerateNode((SYMBOL) vc.kids.Pop());
+ retstr += ")";
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a RotationConstant node.
+ ///
+ /// The RotationConstant node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateRotationConstant(RotationConstant rc)
+ {
+ string retstr = String.Empty;
+
+ retstr += String.Format("new {0}(", rc.Type);
+ retstr += GenerateNode((SYMBOL) rc.kids.Pop());
+ retstr += ", ";
+ retstr += GenerateNode((SYMBOL) rc.kids.Pop());
+ retstr += ", ";
+ retstr += GenerateNode((SYMBOL) rc.kids.Pop());
+ retstr += ", ";
+ retstr += GenerateNode((SYMBOL) rc.kids.Pop());
+ retstr += ")";
+
+ return retstr;
+ }
+
+ ///
+ /// Generates the code for a ListConstant node.
+ ///
+ /// The ListConstant node.
+ /// String containing C# code for SYMBOL s.
+ private string GenerateListConstant(ListConstant lc)
+ {
+ string retstr = String.Empty;
+
+ retstr += String.Format("new {0}(", lc.Type);
+
+ foreach (SYMBOL kid in lc.kids)
+ retstr += GenerateNode(kid);
+
+ retstr += ")";
+
+ return retstr;
+ }
+
+ ///
+ /// Prints text correctly indented, followed by a newline.
+ ///
+ /// String of text to print.
+ /// String containing C# code for SYMBOL s.
+ private string WriteIndentedLine(string s)
+ {
+ return WriteIndented(s) + "\n";
+ }
+
+ ///
+ /// Prints text correctly indented.
+ ///
+ /// String of text to print.
+ /// String containing C# code for SYMBOL s.
+ private string WriteIndented(string s)
+ {
+ return Indent() + s;
+ }
+
+ ///
+ /// Prints correct indentation.
+ ///
+ /// String containing C# code for SYMBOL s.
+ private string Indent()
+ {
+ string retstr = String.Empty;
+
+ for (int i = 0; i < m_braceCount; i++)
+ retstr += " ";
+
+ return retstr;
+ }
+ }
+}
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
index d54d2f5..124f1e6 100644
--- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
@@ -73,6 +73,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
private string ScriptEnginesPath = "ScriptEngines";
private static LSL2CSConverter LSL_Converter = new LSL2CSConverter();
+ //private static CSCodeGenerator LSL_Converter;
private static CSharpCodeProvider CScodeProvider = new CSharpCodeProvider();
private static VBCodeProvider VBcodeProvider = new VBCodeProvider();
private static JScriptCodeProvider JScodeProvider = new JScriptCodeProvider();
@@ -324,6 +325,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
{
// Its LSL, convert it to C#
compileScript = LSL_Converter.Convert(Script);
+ //LSL_Converter = new CSCodeGenerator(Script);
+ //compileScript = LSL_Converter.Generate();
l = enumCompileType.cs;
}
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/LSL2CSCodeTransformer.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/LSL2CSCodeTransformer.cs
new file mode 100644
index 0000000..a7ca18c
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/LSL2CSCodeTransformer.cs
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSim Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.Collections.Generic;
+using Tools;
+
+namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
+{
+ public class LSL2CSCodeTransformer
+ {
+ private SYMBOL m_astRoot = null;
+ private static Dictionary m_datatypeLSL2OpenSim = new Dictionary();
+
+ ///
+ /// Pass the new CodeTranformer an abstract syntax tree.
+ ///
+ /// The root node of the AST.
+ public LSL2CSCodeTransformer(SYMBOL astRoot)
+ {
+ m_astRoot = astRoot;
+
+ // let's populate the dictionary
+ try
+ {
+ m_datatypeLSL2OpenSim.Add("integer", "LSL_Types.LSLInteger");
+ m_datatypeLSL2OpenSim.Add("float", "LSL_Types.LSLFloat");
+ //m_datatypeLSL2OpenSim.Add("key", "LSL_Types.key"); // key doesn't seem to be used
+ m_datatypeLSL2OpenSim.Add("key", "LSL_Types.LSLString");
+ m_datatypeLSL2OpenSim.Add("string", "LSL_Types.LSLString");
+ m_datatypeLSL2OpenSim.Add("vector", "LSL_Types.Vector3");
+ m_datatypeLSL2OpenSim.Add("rotation", "LSL_Types.Quaternion");
+ m_datatypeLSL2OpenSim.Add("list", "LSL_Types.list");
+ }
+ catch
+ {
+ // temporary workaround since we are adding to a static datatype
+ }
+ }
+
+ ///
+ /// Transform the code in the AST we have.
+ ///
+ /// The root node of the transformed AST
+ public SYMBOL Transform()
+ {
+ foreach (SYMBOL s in m_astRoot.kids)
+ TransformNode(s);
+
+ return m_astRoot;
+ }
+
+ ///
+ /// Recursively called to transform each type of node. Will transform this
+ /// node, then all it's children.
+ ///
+ /// The current node to transform.
+ private void TransformNode(SYMBOL s)
+ {
+ // make sure to put type lower in the inheritance hierarchy first
+ // ie: since IdentConstant and StringConstant inherit from Constant,
+ // put IdentConstant and StringConstant before Constant
+ if (s is Declaration)
+ ((Declaration) s).Datatype = m_datatypeLSL2OpenSim[((Declaration) s).Datatype];
+ else if (s is Constant)
+ ((Constant) s).Type = m_datatypeLSL2OpenSim[((Constant) s).Type];
+ else if (s is TypecastExpression)
+ ((TypecastExpression) s).TypecastType = m_datatypeLSL2OpenSim[((TypecastExpression) s).TypecastType];
+ else if (s is GlobalFunctionDefinition && "void" != ((GlobalFunctionDefinition) s).ReturnType) // we don't need to translate "void"
+ ((GlobalFunctionDefinition) s).ReturnType = m_datatypeLSL2OpenSim[((GlobalFunctionDefinition) s).ReturnType];
+
+ for (int i = 0; i < s.kids.Count; i++)
+ {
+ if (!(s is Assignment || s is ArgumentDeclarationList) && s.kids[i] is Declaration)
+ AddImplicitInitialization(s, i);
+
+ TransformNode((SYMBOL) s.kids[i]);
+ }
+ }
+
+ ///
+ /// Replaces an instance of the node at s.kids[didx] with an assignment
+ /// node. The assignment node has the Declaration node on the left hand
+ /// side and a default initializer on the right hand side.
+ ///
+ ///
+ /// The node containing the Declaration node that needs replacing.
+ ///
+ /// Index of the Declaration node to replace.
+ private void AddImplicitInitialization(SYMBOL s, int didx)
+ {
+ // We take the kids for a while to play with them.
+ int sKidSize = s.kids.Count;
+ object [] sKids = new object[sKidSize];
+ for (int i = 0; i < sKidSize; i++)
+ sKids[i] = s.kids.Pop();
+
+ // The child to be changed.
+ Declaration currentDeclaration = (Declaration) sKids[didx];
+
+ // We need an assignment node.
+ Assignment newAssignment = new Assignment(currentDeclaration.yyps,
+ currentDeclaration,
+ GetZeroConstant(currentDeclaration.yyps, currentDeclaration.Datatype),
+ "=");
+ sKids[didx] = newAssignment;
+
+ // Put the kids back where they belong.
+ for (int i = 0; i < sKidSize; i++)
+ s.kids.Add(sKids[i]);
+ }
+
+ ///
+ /// Generates the node structure required to generate a default
+ /// initialization.
+ ///
+ ///
+ /// Tools.Parser instance to use when instantiating nodes.
+ ///
+ /// String describing the datatype.
+ ///
+ /// A SYMBOL node conaining the appropriate structure for intializing a
+ /// constantType.
+ ///
+ private SYMBOL GetZeroConstant(Parser p, string constantType)
+ {
+ switch (constantType)
+ {
+ case "integer":
+ return new Constant(p, constantType, "0");
+ case "float":
+ return new Constant(p, constantType, "0.0");
+ case "string":
+ case "key":
+ return new Constant(p, constantType, "");
+ case "list":
+ ArgumentList al = new ArgumentList(p);
+ return new ListConstant(p, al);
+ case "vector":
+ Constant vca = new Constant(p, "float", "0.0");
+ Constant vcb = new Constant(p, "float", "0.0");
+ Constant vcc = new Constant(p, "float", "0.0");
+ ConstantExpression vcea = new ConstantExpression(p, vca);
+ ConstantExpression vceb = new ConstantExpression(p, vcb);
+ ConstantExpression vcec = new ConstantExpression(p, vcc);
+ return new VectorConstant(p, vcea, vceb, vcec);
+ case "rotation":
+ Constant rca = new Constant(p, "float", "0.0");
+ Constant rcb = new Constant(p, "float", "0.0");
+ Constant rcc = new Constant(p, "float", "0.0");
+ Constant rcd = new Constant(p, "float", "0.0");
+ ConstantExpression rcea = new ConstantExpression(p, rca);
+ ConstantExpression rceb = new ConstantExpression(p, rcb);
+ ConstantExpression rcec = new ConstantExpression(p, rcc);
+ ConstantExpression rced = new ConstantExpression(p, rcd);
+ return new RotationConstant(p, rcea, rceb, rcec, rced);
+ default:
+ return null; // this will probably break stuff
+ }
+ }
+ }
+}
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.lexer.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.lexer.cs
new file mode 100644
index 0000000..97ef88b
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.lexer.cs
@@ -0,0 +1,18714 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSim Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;using Tools;
+namespace OpenSim.Region.ScriptEngine.Shared.CodeTools {
+//%+STRING_CONSTANT+3
+public class STRING_CONSTANT : TOKEN{
+public override string yyname { get { return "STRING_CONSTANT"; }}
+public override int yynum { get { return 3; }}
+public STRING_CONSTANT(Lexer yyl):base(yyl){}}
+//%INCREMENT+4
+public class INCREMENT : TOKEN{ public override string yyname { get { return "INCREMENT";}}
+public override int yynum { get { return 4; }}
+ public INCREMENT(Lexer yyl):base(yyl) {}}
+//%DECREMENT+5
+public class DECREMENT : TOKEN{ public override string yyname { get { return "DECREMENT";}}
+public override int yynum { get { return 5; }}
+ public DECREMENT(Lexer yyl):base(yyl) {}}
+//%PLUS_EQUALS+6
+public class PLUS_EQUALS : TOKEN{ public override string yyname { get { return "PLUS_EQUALS";}}
+public override int yynum { get { return 6; }}
+ public PLUS_EQUALS(Lexer yyl):base(yyl) {}}
+//%MINUS_EQUALS+7
+public class MINUS_EQUALS : TOKEN{ public override string yyname { get { return "MINUS_EQUALS";}}
+public override int yynum { get { return 7; }}
+ public MINUS_EQUALS(Lexer yyl):base(yyl) {}}
+//%STAR_EQUALS+8
+public class STAR_EQUALS : TOKEN{ public override string yyname { get { return "STAR_EQUALS";}}
+public override int yynum { get { return 8; }}
+ public STAR_EQUALS(Lexer yyl):base(yyl) {}}
+//%SLASH_EQUALS+9
+public class SLASH_EQUALS : TOKEN{ public override string yyname { get { return "SLASH_EQUALS";}}
+public override int yynum { get { return 9; }}
+ public SLASH_EQUALS(Lexer yyl):base(yyl) {}}
+//%PERCENT_EQUALS+10
+public class PERCENT_EQUALS : TOKEN{ public override string yyname { get { return "PERCENT_EQUALS";}}
+public override int yynum { get { return 10; }}
+ public PERCENT_EQUALS(Lexer yyl):base(yyl) {}}
+//%SEMICOLON+11
+public class SEMICOLON : TOKEN{ public override string yyname { get { return "SEMICOLON";}}
+public override int yynum { get { return 11; }}
+ public SEMICOLON(Lexer yyl):base(yyl) {}}
+//%LEFT_BRACE+12
+public class LEFT_BRACE : TOKEN{ public override string yyname { get { return "LEFT_BRACE";}}
+public override int yynum { get { return 12; }}
+ public LEFT_BRACE(Lexer yyl):base(yyl) {}}
+//%RIGHT_BRACE+13
+public class RIGHT_BRACE : TOKEN{ public override string yyname { get { return "RIGHT_BRACE";}}
+public override int yynum { get { return 13; }}
+ public RIGHT_BRACE(Lexer yyl):base(yyl) {}}
+//%COMMA+14
+public class COMMA : TOKEN{ public override string yyname { get { return "COMMA";}}
+public override int yynum { get { return 14; }}
+ public COMMA(Lexer yyl):base(yyl) {}}
+//%EQUALS+15
+public class EQUALS : TOKEN{ public override string yyname { get { return "EQUALS";}}
+public override int yynum { get { return 15; }}
+ public EQUALS(Lexer yyl):base(yyl) {}}
+//%LEFT_PAREN+16
+public class LEFT_PAREN : TOKEN{ public override string yyname { get { return "LEFT_PAREN";}}
+public override int yynum { get { return 16; }}
+ public LEFT_PAREN(Lexer yyl):base(yyl) {}}
+//%RIGHT_PAREN+17
+public class RIGHT_PAREN : TOKEN{ public override string yyname { get { return "RIGHT_PAREN";}}
+public override int yynum { get { return 17; }}
+ public RIGHT_PAREN(Lexer yyl):base(yyl) {}}
+//%PLUS+18
+public class PLUS : TOKEN{ public override string yyname { get { return "PLUS";}}
+public override int yynum { get { return 18; }}
+ public PLUS(Lexer yyl):base(yyl) {}}
+//%MINUS+19
+public class MINUS : TOKEN{ public override string yyname { get { return "MINUS";}}
+public override int yynum { get { return 19; }}
+ public MINUS(Lexer yyl):base(yyl) {}}
+//%STAR+20
+public class STAR : TOKEN{ public override string yyname { get { return "STAR";}}
+public override int yynum { get { return 20; }}
+ public STAR(Lexer yyl):base(yyl) {}}
+//%SLASH+21
+public class SLASH : TOKEN{ public override string yyname { get { return "SLASH";}}
+public override int yynum { get { return 21; }}
+ public SLASH(Lexer yyl):base(yyl) {}}
+//%PERCENT+22
+public class PERCENT : TOKEN{ public override string yyname { get { return "PERCENT";}}
+public override int yynum { get { return 22; }}
+ public PERCENT(Lexer yyl):base(yyl) {}}
+//%AT+23
+public class AT : TOKEN{ public override string yyname { get { return "AT";}}
+public override int yynum { get { return 23; }}
+ public AT(Lexer yyl):base(yyl) {}}
+//%PERIOD+24
+public class PERIOD : TOKEN{ public override string yyname { get { return "PERIOD";}}
+public override int yynum { get { return 24; }}
+ public PERIOD(Lexer yyl):base(yyl) {}}
+//%LEFT_ANGLE+25
+public class LEFT_ANGLE : TOKEN{ public override string yyname { get { return "LEFT_ANGLE";}}
+public override int yynum { get { return 25; }}
+ public LEFT_ANGLE(Lexer yyl):base(yyl) {}}
+//%RIGHT_ANGLE+26
+public class RIGHT_ANGLE : TOKEN{ public override string yyname { get { return "RIGHT_ANGLE";}}
+public override int yynum { get { return 26; }}
+ public RIGHT_ANGLE(Lexer yyl):base(yyl) {}}
+//%LEFT_BRACKET+27
+public class LEFT_BRACKET : TOKEN{ public override string yyname { get { return "LEFT_BRACKET";}}
+public override int yynum { get { return 27; }}
+ public LEFT_BRACKET(Lexer yyl):base(yyl) {}}
+//%RIGHT_BRACKET+28
+public class RIGHT_BRACKET : TOKEN{ public override string yyname { get { return "RIGHT_BRACKET";}}
+public override int yynum { get { return 28; }}
+ public RIGHT_BRACKET(Lexer yyl):base(yyl) {}}
+//%EQUALS_EQUALS+29
+public class EQUALS_EQUALS : TOKEN{ public override string yyname { get { return "EQUALS_EQUALS";}}
+public override int yynum { get { return 29; }}
+ public EQUALS_EQUALS(Lexer yyl):base(yyl) {}}
+//%EXCLAMATION_EQUALS+30
+public class EXCLAMATION_EQUALS : TOKEN{ public override string yyname { get { return "EXCLAMATION_EQUALS";}}
+public override int yynum { get { return 30; }}
+ public EXCLAMATION_EQUALS(Lexer yyl):base(yyl) {}}
+//%LESS_EQUALS+31
+public class LESS_EQUALS : TOKEN{ public override string yyname { get { return "LESS_EQUALS";}}
+public override int yynum { get { return 31; }}
+ public LESS_EQUALS(Lexer yyl):base(yyl) {}}
+//%GREATER_EQUALS+32
+public class GREATER_EQUALS : TOKEN{ public override string yyname { get { return "GREATER_EQUALS";}}
+public override int yynum { get { return 32; }}
+ public GREATER_EQUALS(Lexer yyl):base(yyl) {}}
+//%AMP+33
+public class AMP : TOKEN{ public override string yyname { get { return "AMP";}}
+public override int yynum { get { return 33; }}
+ public AMP(Lexer yyl):base(yyl) {}}
+//%STROKE+34
+public class STROKE : TOKEN{ public override string yyname { get { return "STROKE";}}
+public override int yynum { get { return 34; }}
+ public STROKE(Lexer yyl):base(yyl) {}}
+//%CARET+35
+public class CARET : TOKEN{ public override string yyname { get { return "CARET";}}
+public override int yynum { get { return 35; }}
+ public CARET(Lexer yyl):base(yyl) {}}
+//%TILDE+36
+public class TILDE : TOKEN{ public override string yyname { get { return "TILDE";}}
+public override int yynum { get { return 36; }}
+ public TILDE(Lexer yyl):base(yyl) {}}
+//%EXCLAMATION+37
+public class EXCLAMATION : TOKEN{ public override string yyname { get { return "EXCLAMATION";}}
+public override int yynum { get { return 37; }}
+ public EXCLAMATION(Lexer yyl):base(yyl) {}}
+//%AMP_AMP+38
+public class AMP_AMP : TOKEN{ public override string yyname { get { return "AMP_AMP";}}
+public override int yynum { get { return 38; }}
+ public AMP_AMP(Lexer yyl):base(yyl) {}}
+//%STROKE_STROKE+39
+public class STROKE_STROKE : TOKEN{ public override string yyname { get { return "STROKE_STROKE";}}
+public override int yynum { get { return 39; }}
+ public STROKE_STROKE(Lexer yyl):base(yyl) {}}
+//%LEFT_SHIFT+40
+public class LEFT_SHIFT : TOKEN{ public override string yyname { get { return "LEFT_SHIFT";}}
+public override int yynum { get { return 40; }}
+ public LEFT_SHIFT(Lexer yyl):base(yyl) {}}
+//%RIGHT_SHIFT+41
+public class RIGHT_SHIFT : TOKEN{ public override string yyname { get { return "RIGHT_SHIFT";}}
+public override int yynum { get { return 41; }}
+ public RIGHT_SHIFT(Lexer yyl):base(yyl) {}}
+//%IF+42
+public class IF : TOKEN{ public override string yyname { get { return "IF";}}
+public override int yynum { get { return 42; }}
+ public IF(Lexer yyl):base(yyl) {}}
+//%ELSE+43
+public class ELSE : TOKEN{ public override string yyname { get { return "ELSE";}}
+public override int yynum { get { return 43; }}
+ public ELSE(Lexer yyl):base(yyl) {}}
+//%DO+44
+public class DO : TOKEN{ public override string yyname { get { return "DO";}}
+public override int yynum { get { return 44; }}
+ public DO(Lexer yyl):base(yyl) {}}
+//%WHILE+45
+public class WHILE : TOKEN{ public override string yyname { get { return "WHILE";}}
+public override int yynum { get { return 45; }}
+ public WHILE(Lexer yyl):base(yyl) {}}
+//%FOR+46
+public class FOR : TOKEN{ public override string yyname { get { return "FOR";}}
+public override int yynum { get { return 46; }}
+ public FOR(Lexer yyl):base(yyl) {}}
+//%DEFAULT_STATE+47
+public class DEFAULT_STATE : TOKEN{ public override string yyname { get { return "DEFAULT_STATE";}}
+public override int yynum { get { return 47; }}
+ public DEFAULT_STATE(Lexer yyl):base(yyl) {}}
+//%STATE+48
+public class STATE : TOKEN{ public override string yyname { get { return "STATE";}}
+public override int yynum { get { return 48; }}
+ public STATE(Lexer yyl):base(yyl) {}}
+//%JUMP+49
+public class JUMP : TOKEN{ public override string yyname { get { return "JUMP";}}
+public override int yynum { get { return 49; }}
+ public JUMP(Lexer yyl):base(yyl) {}}
+//%RETURN+50
+public class RETURN : TOKEN{ public override string yyname { get { return "RETURN";}}
+public override int yynum { get { return 50; }}
+ public RETURN(Lexer yyl):base(yyl) {}}
+//%INTEGER_TYPE+51
+public class INTEGER_TYPE : TOKEN{ public override string yyname { get { return "INTEGER_TYPE";}}
+public override int yynum { get { return 51; }}
+ public INTEGER_TYPE(Lexer yyl):base(yyl) {}}
+//%FLOAT_TYPE+52
+public class FLOAT_TYPE : TOKEN{ public override string yyname { get { return "FLOAT_TYPE";}}
+public override int yynum { get { return 52; }}
+ public FLOAT_TYPE(Lexer yyl):base(yyl) {}}
+//%STRING_TYPE+53
+public class STRING_TYPE : TOKEN{ public override string yyname { get { return "STRING_TYPE";}}
+public override int yynum { get { return 53; }}
+ public STRING_TYPE(Lexer yyl):base(yyl) {}}
+//%KEY_TYPE+54
+public class KEY_TYPE : TOKEN{ public override string yyname { get { return "KEY_TYPE";}}
+public override int yynum { get { return 54; }}
+ public KEY_TYPE(Lexer yyl):base(yyl) {}}
+//%VECTOR_TYPE+55
+public class VECTOR_TYPE : TOKEN{ public override string yyname { get { return "VECTOR_TYPE";}}
+public override int yynum { get { return 55; }}
+ public VECTOR_TYPE(Lexer yyl):base(yyl) {}}
+//%ROTATION_TYPE+56
+public class ROTATION_TYPE : TOKEN{ public override string yyname { get { return "ROTATION_TYPE";}}
+public override int yynum { get { return 56; }}
+ public ROTATION_TYPE(Lexer yyl):base(yyl) {}}
+//%LIST_TYPE+57
+public class LIST_TYPE : TOKEN{ public override string yyname { get { return "LIST_TYPE";}}
+public override int yynum { get { return 57; }}
+ public LIST_TYPE(Lexer yyl):base(yyl) {}}
+//%AT_ROT_TARGET_EVENT+58
+public class AT_ROT_TARGET_EVENT : TOKEN{ public override string yyname { get { return "AT_ROT_TARGET_EVENT";}}
+public override int yynum { get { return 58; }}
+ public AT_ROT_TARGET_EVENT(Lexer yyl):base(yyl) {}}
+//%AT_TARGET_EVENT+59
+public class AT_TARGET_EVENT : TOKEN{ public override string yyname { get { return "AT_TARGET_EVENT";}}
+public override int yynum { get { return 59; }}
+ public AT_TARGET_EVENT(Lexer yyl):base(yyl) {}}
+//%ATTACH_EVENT+60
+public class ATTACH_EVENT : TOKEN{ public override string yyname { get { return "ATTACH_EVENT";}}
+public override int yynum { get { return 60; }}
+ public ATTACH_EVENT(Lexer yyl):base(yyl) {}}
+//%CHANGED_EVENT+61
+public class CHANGED_EVENT : TOKEN{ public override string yyname { get { return "CHANGED_EVENT";}}
+public override int yynum { get { return 61; }}
+ public CHANGED_EVENT(Lexer yyl):base(yyl) {}}
+//%COLLISION_EVENT+62
+public class COLLISION_EVENT : TOKEN{ public override string yyname { get { return "COLLISION_EVENT";}}
+public override int yynum { get { return 62; }}
+ public COLLISION_EVENT(Lexer yyl):base(yyl) {}}
+//%COLLISION_END_EVENT+63
+public class COLLISION_END_EVENT : TOKEN{ public override string yyname { get { return "COLLISION_END_EVENT";}}
+public override int yynum { get { return 63; }}
+ public COLLISION_END_EVENT(Lexer yyl):base(yyl) {}}
+//%COLLISION_START_EVENT+64
+public class COLLISION_START_EVENT : TOKEN{ public override string yyname { get { return "COLLISION_START_EVENT";}}
+public override int yynum { get { return 64; }}
+ public COLLISION_START_EVENT(Lexer yyl):base(yyl) {}}
+//%CONTROL_EVENT+65
+public class CONTROL_EVENT : TOKEN{ public override string yyname { get { return "CONTROL_EVENT";}}
+public override int yynum { get { return 65; }}
+ public CONTROL_EVENT(Lexer yyl):base(yyl) {}}
+//%DATASERVER_EVENT+66
+public class DATASERVER_EVENT : TOKEN{ public override string yyname { get { return "DATASERVER_EVENT";}}
+public override int yynum { get { return 66; }}
+ public DATASERVER_EVENT(Lexer yyl):base(yyl) {}}
+//%EMAIL_EVENT+67
+public class EMAIL_EVENT : TOKEN{ public override string yyname { get { return "EMAIL_EVENT";}}
+public override int yynum { get { return 67; }}
+ public EMAIL_EVENT(Lexer yyl):base(yyl) {}}
+//%HTTP_RESPONSE_EVENT+68
+public class HTTP_RESPONSE_EVENT : TOKEN{ public override string yyname { get { return "HTTP_RESPONSE_EVENT";}}
+public override int yynum { get { return 68; }}
+ public HTTP_RESPONSE_EVENT(Lexer yyl):base(yyl) {}}
+//%LAND_COLLISION_EVENT+69
+public class LAND_COLLISION_EVENT : TOKEN{ public override string yyname { get { return "LAND_COLLISION_EVENT";}}
+public override int yynum { get { return 69; }}
+ public LAND_COLLISION_EVENT(Lexer yyl):base(yyl) {}}
+//%LAND_COLLISION_END_EVENT+70
+public class LAND_COLLISION_END_EVENT : TOKEN{ public override string yyname { get { return "LAND_COLLISION_END_EVENT";}}
+public override int yynum { get { return 70; }}
+ public LAND_COLLISION_END_EVENT(Lexer yyl):base(yyl) {}}
+//%LAND_COLLISION_START_EVENT+71
+public class LAND_COLLISION_START_EVENT : TOKEN{ public override string yyname { get { return "LAND_COLLISION_START_EVENT";}}
+public override int yynum { get { return 71; }}
+ public LAND_COLLISION_START_EVENT(Lexer yyl):base(yyl) {}}
+//%LINK_MESSAGE_EVENT+72
+public class LINK_MESSAGE_EVENT : TOKEN{ public override string yyname { get { return "LINK_MESSAGE_EVENT";}}
+public override int yynum { get { return 72; }}
+ public LINK_MESSAGE_EVENT(Lexer yyl):base(yyl) {}}
+//%LISTEN_EVENT+73
+public class LISTEN_EVENT : TOKEN{ public override string yyname { get { return "LISTEN_EVENT";}}
+public override int yynum { get { return 73; }}
+ public LISTEN_EVENT(Lexer yyl):base(yyl) {}}
+//%MONEY_EVENT+74
+public class MONEY_EVENT : TOKEN{ public override string yyname { get { return "MONEY_EVENT";}}
+public override int yynum { get { return 74; }}
+ public MONEY_EVENT(Lexer yyl):base(yyl) {}}
+//%MOVING_END_EVENT+75
+public class MOVING_END_EVENT : TOKEN{ public override string yyname { get { return "MOVING_END_EVENT";}}
+public override int yynum { get { return 75; }}
+ public MOVING_END_EVENT(Lexer yyl):base(yyl) {}}
+//%MOVING_START_EVENT+76
+public class MOVING_START_EVENT : TOKEN{ public override string yyname { get { return "MOVING_START_EVENT";}}
+public override int yynum { get { return 76; }}
+ public MOVING_START_EVENT(Lexer yyl):base(yyl) {}}
+//%NO_SENSOR_EVENT+77
+public class NO_SENSOR_EVENT : TOKEN{ public override string yyname { get { return "NO_SENSOR_EVENT";}}
+public override int yynum { get { return 77; }}
+ public NO_SENSOR_EVENT(Lexer yyl):base(yyl) {}}
+//%NOT_AT_ROT_TARGET_EVENT+78
+public class NOT_AT_ROT_TARGET_EVENT : TOKEN{ public override string yyname { get { return "NOT_AT_ROT_TARGET_EVENT";}}
+public override int yynum { get { return 78; }}
+ public NOT_AT_ROT_TARGET_EVENT(Lexer yyl):base(yyl) {}}
+//%NOT_AT_TARGET_EVENT+79
+public class NOT_AT_TARGET_EVENT : TOKEN{ public override string yyname { get { return "NOT_AT_TARGET_EVENT";}}
+public override int yynum { get { return 79; }}
+ public NOT_AT_TARGET_EVENT(Lexer yyl):base(yyl) {}}
+//%OBJECT_REZ_EVENT+80
+public class OBJECT_REZ_EVENT : TOKEN{ public override string yyname { get { return "OBJECT_REZ_EVENT";}}
+public override int yynum { get { return 80; }}
+ public OBJECT_REZ_EVENT(Lexer yyl):base(yyl) {}}
+//%ON_REZ_EVENT+81
+public class ON_REZ_EVENT : TOKEN{ public override string yyname { get { return "ON_REZ_EVENT";}}
+public override int yynum { get { return 81; }}
+ public ON_REZ_EVENT(Lexer yyl):base(yyl) {}}
+//%REMOTE_DATA_EVENT+82
+public class REMOTE_DATA_EVENT : TOKEN{ public override string yyname { get { return "REMOTE_DATA_EVENT";}}
+public override int yynum { get { return 82; }}
+ public REMOTE_DATA_EVENT(Lexer yyl):base(yyl) {}}
+//%RUN_TIME_PERMISSIONS_EVENT+83
+public class RUN_TIME_PERMISSIONS_EVENT : TOKEN{ public override string yyname { get { return "RUN_TIME_PERMISSIONS_EVENT";}}
+public override int yynum { get { return 83; }}
+ public RUN_TIME_PERMISSIONS_EVENT(Lexer yyl):base(yyl) {}}
+//%SENSOR_EVENT+84
+public class SENSOR_EVENT : TOKEN{ public override string yyname { get { return "SENSOR_EVENT";}}
+public override int yynum { get { return 84; }}
+ public SENSOR_EVENT(Lexer yyl):base(yyl) {}}
+//%STATE_ENTRY_EVENT+85
+public class STATE_ENTRY_EVENT : TOKEN{ public override string yyname { get { return "STATE_ENTRY_EVENT";}}
+public override int yynum { get { return 85; }}
+ public STATE_ENTRY_EVENT(Lexer yyl):base(yyl) {}}
+//%STATE_EXIT_EVENT+86
+public class STATE_EXIT_EVENT : TOKEN{ public override string yyname { get { return "STATE_EXIT_EVENT";}}
+public override int yynum { get { return 86; }}
+ public STATE_EXIT_EVENT(Lexer yyl):base(yyl) {}}
+//%TIMER_EVENT+87
+public class TIMER_EVENT : TOKEN{ public override string yyname { get { return "TIMER_EVENT";}}
+public override int yynum { get { return 87; }}
+ public TIMER_EVENT(Lexer yyl):base(yyl) {}}
+//%TOUCH_EVENT+88
+public class TOUCH_EVENT : TOKEN{ public override string yyname { get { return "TOUCH_EVENT";}}
+public override int yynum { get { return 88; }}
+ public TOUCH_EVENT(Lexer yyl):base(yyl) {}}
+//%TOUCH_START_EVENT+89
+public class TOUCH_START_EVENT : TOKEN{ public override string yyname { get { return "TOUCH_START_EVENT";}}
+public override int yynum { get { return 89; }}
+ public TOUCH_START_EVENT(Lexer yyl):base(yyl) {}}
+//%TOUCH_END_EVENT+90
+public class TOUCH_END_EVENT : TOKEN{ public override string yyname { get { return "TOUCH_END_EVENT";}}
+public override int yynum { get { return 90; }}
+ public TOUCH_END_EVENT(Lexer yyl):base(yyl) {}}
+//%IDENT+91
+public class IDENT : TOKEN{ public override string yyname { get { return "IDENT";}}
+public override int yynum { get { return 91; }}
+ public IDENT(Lexer yyl):base(yyl) {}}
+//%INTEGER_CONSTANT+92
+public class INTEGER_CONSTANT : TOKEN{ public override string yyname { get { return "INTEGER_CONSTANT";}}
+public override int yynum { get { return 92; }}
+ public INTEGER_CONSTANT(Lexer yyl):base(yyl) {}}
+//%HEX_INTEGER_CONSTANT+93
+public class HEX_INTEGER_CONSTANT : TOKEN{ public override string yyname { get { return "HEX_INTEGER_CONSTANT";}}
+public override int yynum { get { return 93; }}
+ public HEX_INTEGER_CONSTANT(Lexer yyl):base(yyl) {}}
+//%FLOAT_CONSTANT+94
+public class FLOAT_CONSTANT : TOKEN{ public override string yyname { get { return "FLOAT_CONSTANT";}}
+public override int yynum { get { return 94; }}
+ public FLOAT_CONSTANT(Lexer yyl):base(yyl) {}}
+//%|LSLTokens
+public class yyLSLTokens : YyLexer {
+ public yyLSLTokens(ErrorHandler eh):base(eh) { arr = new int[] {
+101,4,6,52,0,
+46,0,53,0,6,
+102,4,16,117,0,
+115,0,45,0,97,
+0,115,0,99,0,
+105,0,105,0,2,
+0,103,5,27,7,
+0,104,9,1,0,
+3,192,0,105,5,
+27,3,65,0,2,
+1,3,66,0,2,
+1,3,67,0,2,
+1,3,68,0,2,
+1,3,69,0,2,
+1,3,70,0,2,
+1,3,71,0,2,
+1,3,72,0,2,
+1,3,73,0,2,
+1,3,74,0,2,
+1,3,75,0,2,
+1,3,76,0,2,
+1,3,77,0,2,
+1,3,78,0,2,
+1,3,79,0,2,
+1,3,80,0,2,
+1,3,81,0,2,
+1,3,82,0,2,
+1,3,83,0,2,
+1,3,84,0,2,
+1,3,85,0,2,
+1,3,86,0,2,
+1,3,87,0,2,
+1,3,88,0,2,
+1,3,89,0,2,
+1,3,90,0,2,
+1,3,192,0,2,
+1,7,1,106,9,
+1,1,3,170,0,
+107,5,27,3,109,
+0,2,1,3,110,
+0,2,1,3,111,
+0,2,1,3,112,
+0,2,1,3,113,
+0,2,1,3,114,
+0,2,1,3,115,
+0,2,1,3,116,
+0,2,1,3,117,
+0,2,1,3,118,
+0,2,1,3,119,
+0,2,1,3,120,
+0,2,1,3,121,
+0,2,1,3,122,
+0,2,1,3,170,
+0,2,1,3,97,
+0,2,1,3,98,
+0,2,1,3,99,
+0,2,1,3,100,
+0,2,1,3,101,
+0,2,1,3,102,
+0,2,1,3,103,
+0,2,1,3,104,
+0,2,1,3,105,
+0,2,1,3,106,
+0,2,1,3,107,
+0,2,1,3,108,
+0,2,1,7,2,
+108,9,1,2,3,
+197,1,109,5,1,
+3,197,1,2,1,
+7,3,110,9,1,
+3,3,176,2,111,
+5,1,3,176,2,
+2,1,7,4,112,
+9,1,4,3,187,
+1,113,5,1,3,
+187,1,2,1,7,
+5,114,9,1,5,
+3,0,3,115,5,
+1,3,0,3,2,
+1,7,6,116,9,
+1,6,3,3,9,
+117,5,1,3,3,
+9,2,1,7,7,
+118,9,1,7,3,
+136,4,119,5,1,
+3,136,4,2,1,
+7,8,120,9,1,
+8,3,96,6,121,
+5,11,3,96,6,
+2,1,3,48,0,
+2,1,3,49,0,
+2,1,3,50,0,
+2,1,3,51,0,
+2,1,3,52,0,
+2,1,3,53,0,
+2,1,3,54,0,
+2,1,3,55,0,
+2,1,3,56,0,
+2,1,3,57,0,
+2,1,7,9,122,
+9,1,9,3,96,
+33,123,5,1,3,
+96,33,2,1,7,
+10,124,9,1,10,
+3,178,0,125,5,
+1,3,178,0,2,
+1,7,11,126,9,
+1,11,3,160,0,
+127,5,2,3,160,
+0,2,1,3,32,
+0,2,1,7,12,
+128,9,1,12,3,
+40,32,129,5,1,
+3,40,32,2,1,
+7,13,130,9,1,
+13,3,41,32,131,
+5,1,3,41,32,
+2,1,7,14,132,
+9,1,14,3,1,
+0,133,5,5,3,
+0,0,2,1,3,
+1,0,2,1,3,
+13,0,2,1,3,
+9,0,2,1,3,
+10,0,2,1,7,
+15,134,9,1,15,
+3,15,7,135,5,
+1,3,15,7,2,
+1,7,17,136,9,
+1,17,3,0,224,
+137,5,1,3,0,
+224,2,1,7,18,
+138,9,1,18,3,
+63,32,139,5,2,
+3,63,32,2,1,
+3,95,0,2,1,
+7,19,140,9,1,
+19,3,173,0,141,
+5,2,3,45,0,
+2,1,3,173,0,
+2,1,7,20,142,
+9,1,20,3,58,
+15,143,5,4,3,
+123,0,2,1,3,
+91,0,2,1,3,
+58,15,2,1,3,
+40,0,2,1,7,
+21,144,9,1,21,
+3,59,15,145,5,
+4,3,59,15,2,
+1,3,125,0,2,
+1,3,93,0,2,
+1,3,41,0,2,
+1,7,22,146,9,
+1,22,3,171,0,
+147,5,1,3,171,
+0,2,1,7,23,
+148,9,1,23,3,
+187,0,149,5,1,
+3,187,0,2,1,
+7,24,150,9,1,
+24,3,35,0,151,
+5,12,3,37,0,
+2,1,3,38,0,
+2,1,3,42,0,
+2,1,3,44,0,
+2,1,3,46,0,
+2,1,3,47,0,
+2,1,3,92,0,
+2,1,3,59,0,
+2,1,3,64,0,
+2,1,3,33,0,
+2,1,3,34,0,
+2,1,3,35,0,
+2,1,7,25,152,
+9,1,25,3,172,
+0,153,5,7,3,
+172,0,2,1,3,
+124,0,2,1,3,
+126,0,2,1,3,
+60,0,2,1,3,
+61,0,2,1,3,
+62,0,2,1,3,
+43,0,2,1,7,
+26,154,9,1,26,
+3,36,0,155,5,
+1,3,36,0,2,
+1,7,27,156,9,
+1,27,3,96,0,
+157,5,2,3,94,
+0,2,1,3,96,
+0,2,1,7,27,
+2,0,158,5,2,
+159,4,18,89,0,
+89,0,73,0,78,
+0,73,0,84,0,
+73,0,65,0,76,
+0,160,12,1,1092,
+161,5,91,3,9,
+0,162,12,1,39807,
+163,5,0,164,11,
+1,1069,0,165,4,
+0,1,-1,3,10,
+0,162,3,13,0,
+162,3,32,0,162,
+3,33,0,166,12,
+1,42720,167,5,1,
+3,61,0,168,12,
+1,42835,169,5,0,
+170,11,1,142,0,
+171,4,36,69,0,
+88,0,67,0,76,
+0,65,0,77,0,
+65,0,84,0,73,
+0,79,0,78,0,
+95,0,69,0,81,
+0,85,0,65,0,
+76,0,83,0,1,
+-1,172,11,1,180,
+0,173,4,22,69,
+0,88,0,67,0,
+76,0,65,0,77,
+0,65,0,84,0,
+73,0,79,0,78,
+0,1,-1,3,34,
+0,174,12,1,42961,
+175,5,0,176,11,
+1,951,0,165,1,
+-1,3,37,0,177,
+12,1,41031,178,5,
+1,3,61,0,179,
+12,1,41146,180,5,
+0,181,11,1,40,
+0,182,4,28,80,
+0,69,0,82,0,
+67,0,69,0,78,
+0,84,0,95,0,
+69,0,81,0,85,
+0,65,0,76,0,
+83,0,1,-1,183,
+11,1,101,0,184,
+4,14,80,0,69,
+0,82,0,67,0,
+69,0,78,0,84,
+0,1,-1,3,38,
+0,185,12,1,41272,
+186,5,1,3,38,
+0,187,12,1,41372,
+188,5,0,189,11,
+1,185,0,190,4,
+14,65,0,77,0,
+80,0,95,0,65,
+0,77,0,80,0,
+1,-1,191,11,1,
+160,0,192,4,6,
+65,0,77,0,80,
+0,1,-1,3,40,
+0,193,12,1,40544,
+194,5,0,195,11,
+1,71,0,196,4,
+20,76,0,69,0,
+70,0,84,0,95,
+0,80,0,65,0,
+82,0,69,0,78,
+0,1,-1,3,41,
+0,197,12,1,40908,
+198,5,0,199,11,
+1,76,0,200,4,
+22,82,0,73,0,
+71,0,72,0,84,
+0,95,0,80,0,
+65,0,82,0,69,
+0,78,0,1,-1,
+3,42,0,201,12,
+1,41513,202,5,1,
+3,61,0,203,12,
+1,41628,204,5,0,
+205,11,1,28,0,
+206,4,22,83,0,
+84,0,65,0,82,
+0,95,0,69,0,
+81,0,85,0,65,
+0,76,0,83,0,
+1,-1,207,11,1,
+91,0,208,4,8,
+83,0,84,0,65,
+0,82,0,1,-1,
+3,43,0,209,12,
+1,44409,210,5,2,
+3,61,0,211,12,
+1,44524,212,5,0,
+213,11,1,16,0,
+214,4,22,80,0,
+76,0,85,0,83,
+0,95,0,69,0,
+81,0,85,0,65,
+0,76,0,83,0,
+1,-1,3,43,0,
+215,12,1,44646,216,
+5,0,217,11,1,
+2,0,218,4,18,
+73,0,78,0,67,
+0,82,0,69,0,
+77,0,69,0,78,
+0,84,0,1,-1,
+219,11,1,81,0,
+220,4,8,80,0,
+76,0,85,0,83,
+0,1,-1,3,44,
+0,221,12,1,41754,
+222,5,0,223,11,
+1,61,0,224,4,
+10,67,0,79,0,
+77,0,77,0,65,
+0,1,-1,3,45,
+0,225,12,1,39939,
+226,5,17,3,45,
+0,227,12,1,40026,
+228,5,0,229,11,
+1,10,0,230,4,
+18,68,0,69,0,
+67,0,82,0,69,
+0,77,0,69,0,
+78,0,84,0,1,
+-1,3,46,0,231,
+12,1,39479,232,5,
+14,3,48,0,233,
+12,1,39541,234,5,
+14,3,48,0,233,
+3,49,0,233,3,
+50,0,233,3,51,
+0,233,3,52,0,
+233,3,53,0,233,
+3,54,0,233,3,
+55,0,233,3,56,
+0,233,3,57,0,
+233,3,101,0,235,
+12,1,38959,236,5,
+12,3,43,0,237,
+12,1,1664,238,5,
+10,3,48,0,239,
+12,1,1726,240,5,
+12,3,48,0,239,
+3,49,0,239,3,
+50,0,239,3,51,
+0,239,3,52,0,
+239,3,53,0,239,
+3,54,0,239,3,
+55,0,239,3,56,
+0,239,3,57,0,
+239,3,102,0,241,
+12,1,1732,242,5,
+0,243,11,1,882,
+0,244,4,28,70,
+0,76,0,79,0,
+65,0,84,0,95,
+0,67,0,79,0,
+78,0,83,0,84,
+0,65,0,78,0,
+84,0,1,-1,3,
+70,0,241,245,11,
+1,882,0,244,1,
+-1,3,49,0,239,
+3,50,0,239,3,
+51,0,239,3,52,
+0,239,3,53,0,
+239,3,54,0,239,
+3,55,0,239,3,
+56,0,239,3,57,
+0,239,0,165,1,
+-1,3,45,0,237,
+3,48,0,239,3,
+49,0,239,3,50,
+0,239,3,51,0,
+239,3,52,0,239,
+3,53,0,239,3,
+54,0,239,3,55,
+0,239,3,56,0,
+239,3,57,0,239,
+0,165,1,-1,3,
+102,0,241,3,69,
+0,235,3,70,0,
+241,246,11,1,882,
+0,244,1,-1,3,
+49,0,233,3,50,
+0,233,3,51,0,
+233,3,52,0,233,
+3,53,0,233,3,
+54,0,233,3,55,
+0,233,3,56,0,
+233,3,57,0,233,
+3,101,0,235,3,
+102,0,241,3,69,
+0,235,3,70,0,
+241,247,11,1,882,
+0,244,1,-1,3,
+48,0,248,12,1,
+38954,249,5,17,3,
+120,0,250,12,1,
+39098,251,5,22,3,
+102,0,252,12,1,
+39099,253,5,22,3,
+102,0,252,3,48,
+0,252,3,49,0,
+252,3,50,0,252,
+3,51,0,252,3,
+52,0,252,3,53,
+0,252,3,54,0,
+252,3,55,0,252,
+3,56,0,252,3,
+57,0,252,3,97,
+0,252,3,98,0,
+252,3,99,0,252,
+3,100,0,252,3,
+101,0,252,3,65,
+0,252,3,66,0,
+252,3,67,0,252,
+3,68,0,252,3,
+69,0,252,3,70,
+0,252,254,11,1,
+855,0,255,4,40,
+72,0,69,0,88,
+0,95,0,73,0,
+78,0,84,0,69,
+0,71,0,69,0,
+82,0,95,0,67,
+0,79,0,78,0,
+83,0,84,0,65,
+0,78,0,84,0,
+1,-1,3,48,0,
+252,3,49,0,252,
+3,50,0,252,3,
+51,0,252,3,52,
+0,252,3,53,0,
+252,3,54,0,252,
+3,55,0,252,3,
+56,0,252,3,57,
+0,252,3,97,0,
+252,3,98,0,252,
+3,99,0,252,3,
+100,0,252,3,101,
+0,252,3,65,0,
+252,3,66,0,252,
+3,67,0,252,3,
+68,0,252,3,69,
+0,252,3,70,0,
+252,0,165,1,-1,
+3,48,0,256,12,
+1,39376,257,5,15,
+3,46,0,231,3,
+48,0,256,3,49,
+0,256,3,50,0,
+256,3,51,0,256,
+3,52,0,256,3,
+53,0,256,3,54,
+0,256,3,55,0,
+256,3,56,0,256,
+3,57,0,256,3,
+101,0,235,3,102,
+0,241,3,69,0,
+235,3,70,0,241,
+258,11,1,841,0,
+259,4,32,73,0,
+78,0,84,0,69,
+0,71,0,69,0,
+82,0,95,0,67,
+0,79,0,78,0,
+83,0,84,0,65,
+0,78,0,84,0,
+1,-1,3,49,0,
+256,3,50,0,256,
+3,88,0,250,3,
+52,0,256,3,53,
+0,256,3,51,0,
+256,3,55,0,256,
+3,56,0,256,3,
+54,0,256,3,46,
+0,231,3,57,0,
+256,3,101,0,235,
+3,102,0,241,3,
+69,0,235,3,70,
+0,241,260,11,1,
+841,0,259,1,-1,
+3,49,0,256,3,
+50,0,256,3,51,
+0,256,3,52,0,
+256,3,53,0,256,
+3,54,0,256,3,
+55,0,256,3,56,
+0,256,3,57,0,
+256,3,61,0,261,
+12,1,40174,262,5,
+0,263,11,1,22,
+0,264,4,24,77,
+0,73,0,78,0,
+85,0,83,0,95,
+0,69,0,81,0,
+85,0,65,0,76,
+0,83,0,1,-1,
+3,101,0,235,3,
+102,0,241,3,69,
+0,235,3,70,0,
+241,265,11,1,86,
+0,266,4,10,77,
+0,73,0,78,0,
+85,0,83,0,1,
+-1,3,46,0,267,
+12,1,41875,268,5,
+14,3,48,0,233,
+3,49,0,233,3,
+50,0,233,3,51,
+0,233,3,52,0,
+233,3,53,0,233,
+3,54,0,233,3,
+55,0,233,3,56,
+0,233,3,57,0,
+233,3,101,0,235,
+3,102,0,241,3,
+69,0,235,3,70,
+0,241,269,11,1,
+111,0,270,4,12,
+80,0,69,0,82,
+0,73,0,79,0,
+68,0,1,-1,3,
+47,0,271,12,1,
+41996,272,5,2,3,
+47,0,273,12,1,
+42100,274,5,118,3,
+1,0,275,12,1,
+42101,276,5,118,3,
+1,0,275,3,9,
+0,275,3,96,33,
+275,3,13,0,275,
+3,0,3,275,3,
+32,0,275,3,33,
+0,275,3,34,0,
+275,3,35,0,275,
+3,36,0,275,3,
+37,0,275,3,38,
+0,275,3,40,0,
+275,3,41,0,275,
+3,42,0,275,3,
+43,0,275,3,44,
+0,275,3,45,0,
+275,3,46,0,275,
+3,47,0,275,3,
+3,9,275,3,49,
+0,275,3,50,0,
+275,3,48,0,275,
+3,52,0,275,3,
+53,0,275,3,51,
+0,275,3,55,0,
+275,3,56,0,275,
+3,54,0,275,3,
+59,0,275,3,57,
+0,275,3,61,0,
+275,3,62,0,275,
+3,60,0,275,3,
+64,0,275,3,65,
+0,275,3,66,0,
+275,3,67,0,275,
+3,68,0,275,3,
+69,0,275,3,70,
+0,275,3,71,0,
+275,3,72,0,275,
+3,73,0,275,3,
+74,0,275,3,75,
+0,275,3,76,0,
+275,3,77,0,275,
+3,78,0,275,3,
+79,0,275,3,80,
+0,275,3,81,0,
+275,3,82,0,275,
+3,83,0,275,3,
+84,0,275,3,85,
+0,275,3,86,0,
+275,3,87,0,275,
+3,88,0,275,3,
+89,0,275,3,90,
+0,275,3,91,0,
+275,3,92,0,275,
+3,93,0,275,3,
+94,0,275,3,95,
+0,275,3,96,0,
+275,3,97,0,275,
+3,98,0,275,3,
+99,0,275,3,100,
+0,275,3,101,0,
+275,3,102,0,275,
+3,103,0,275,3,
+104,0,275,3,105,
+0,275,3,106,0,
+275,3,107,0,275,
+3,15,7,275,3,
+109,0,275,3,110,
+0,275,3,111,0,
+275,3,112,0,275,
+3,113,0,275,3,
+114,0,275,3,115,
+0,275,3,116,0,
+275,3,117,0,275,
+3,118,0,275,3,
+119,0,275,3,120,
+0,275,3,121,0,
+275,3,122,0,275,
+3,108,0,275,3,
+124,0,275,3,125,
+0,275,3,96,6,
+275,3,123,0,275,
+3,126,0,275,3,
+58,15,275,3,59,
+15,275,3,136,4,
+275,3,160,0,275,
+3,170,0,275,3,
+171,0,275,3,172,
+0,275,3,173,0,
+275,3,178,0,275,
+3,176,2,275,3,
+187,0,275,3,187,
+1,275,3,192,0,
+275,3,41,32,275,
+3,197,1,275,3,
+0,224,275,3,40,
+32,275,3,63,32,
+275,277,11,1,1073,
+0,165,1,-1,3,
+9,0,275,3,96,
+33,275,3,13,0,
+275,3,0,3,275,
+3,32,0,275,3,
+33,0,275,3,34,
+0,275,3,35,0,
+275,3,36,0,275,
+3,37,0,275,3,
+38,0,275,3,40,
+0,275,3,41,0,
+275,3,42,0,275,
+3,43,0,275,3,
+44,0,275,3,45,
+0,275,3,46,0,
+275,3,47,0,275,
+3,3,9,275,3,
+49,0,275,3,50,
+0,275,3,48,0,
+275,3,52,0,275,
+3,53,0,275,3,
+51,0,275,3,55,
+0,275,3,56,0,
+275,3,54,0,275,
+3,59,0,275,3,
+57,0,275,3,61,
+0,275,3,62,0,
+275,3,60,0,275,
+3,64,0,275,3,
+65,0,275,3,66,
+0,275,3,67,0,
+275,3,68,0,275,
+3,69,0,275,3,
+70,0,275,3,71,
+0,275,3,72,0,
+275,3,73,0,275,
+3,74,0,275,3,
+75,0,275,3,76,
+0,275,3,77,0,
+275,3,78,0,275,
+3,79,0,275,3,
+80,0,275,3,81,
+0,275,3,82,0,
+275,3,83,0,275,
+3,84,0,275,3,
+85,0,275,3,86,
+0,275,3,87,0,
+275,3,88,0,275,
+3,89,0,275,3,
+90,0,275,3,91,
+0,275,3,92,0,
+275,3,93,0,275,
+3,94,0,275,3,
+95,0,275,3,96,
+0,275,3,97,0,
+275,3,98,0,275,
+3,99,0,275,3,
+100,0,275,3,101,
+0,275,3,102,0,
+275,3,103,0,275,
+3,104,0,275,3,
+105,0,275,3,106,
+0,275,3,107,0,
+275,3,15,7,275,
+3,109,0,275,3,
+110,0,275,3,111,
+0,275,3,112,0,
+275,3,113,0,275,
+3,114,0,275,3,
+115,0,275,3,116,
+0,275,3,117,0,
+275,3,118,0,275,
+3,119,0,275,3,
+120,0,275,3,121,
+0,275,3,122,0,
+275,3,108,0,275,
+3,124,0,275,3,
+125,0,275,3,96,
+6,275,3,123,0,
+275,3,126,0,275,
+3,58,15,275,3,
+59,15,275,3,136,
+4,275,3,160,0,
+275,3,170,0,275,
+3,171,0,275,3,
+172,0,275,3,173,
+0,275,3,178,0,
+275,3,176,2,275,
+3,187,0,275,3,
+187,1,275,3,192,
+0,275,3,41,32,
+275,3,197,1,275,
+3,0,224,275,3,
+40,32,275,3,63,
+32,275,278,11,1,
+1073,0,165,1,-1,
+3,61,0,279,12,
+1,42351,280,5,0,
+281,11,1,34,0,
+282,4,24,83,0,
+76,0,65,0,83,
+0,72,0,95,0,
+69,0,81,0,85,
+0,65,0,76,0,
+83,0,1,-1,283,
+11,1,96,0,284,
+4,10,83,0,76,
+0,65,0,83,0,
+72,0,1,-1,3,
+48,0,248,3,49,
+0,256,3,50,0,
+256,3,51,0,256,
+3,52,0,256,3,
+53,0,256,3,54,
+0,256,3,55,0,
+256,3,56,0,256,
+3,57,0,256,3,
+59,0,285,12,1,
+42478,286,5,0,287,
+11,1,46,0,288,
+4,18,83,0,69,
+0,77,0,73,0,
+67,0,79,0,76,
+0,79,0,78,0,
+1,-1,3,60,0,
+289,12,1,43446,290,
+5,2,3,60,0,
+291,12,1,43560,292,
+5,0,293,11,1,
+197,0,294,4,20,
+76,0,69,0,70,
+0,84,0,95,0,
+83,0,72,0,73,
+0,70,0,84,0,
+1,-1,3,61,0,
+295,12,1,43681,296,
+5,0,297,11,1,
+148,0,298,4,22,
+76,0,69,0,83,
+0,83,0,95,0,
+69,0,81,0,85,
+0,65,0,76,0,
+83,0,1,-1,299,
+11,1,116,0,300,
+4,20,76,0,69,
+0,70,0,84,0,
+95,0,65,0,78,
+0,71,0,76,0,
+69,0,1,-1,3,
+61,0,301,12,1,
+43807,302,5,1,3,
+61,0,303,12,1,
+43922,304,5,0,305,
+11,1,136,0,306,
+4,26,69,0,81,
+0,85,0,65,0,
+76,0,83,0,95,
+0,69,0,81,0,
+85,0,65,0,76,
+0,83,0,1,-1,
+307,11,1,66,0,
+308,4,12,69,0,
+81,0,85,0,65,
+0,76,0,83,0,
+1,-1,3,62,0,
+309,12,1,44048,310,
+5,2,3,61,0,
+311,12,1,44163,312,
+5,0,313,11,1,
+154,0,314,4,28,
+71,0,82,0,69,
+0,65,0,84,0,
+69,0,82,0,95,
+0,69,0,81,0,
+85,0,65,0,76,
+0,83,0,1,-1,
+3,62,0,315,12,
+1,44284,316,5,0,
+317,11,1,203,0,
+318,4,22,82,0,
+73,0,71,0,72,
+0,84,0,95,0,
+83,0,72,0,73,
+0,70,0,84,0,
+1,-1,319,11,1,
+121,0,320,4,22,
+82,0,73,0,71,
+0,72,0,84,0,
+95,0,65,0,78,
+0,71,0,76,0,
+69,0,1,-1,3,
+64,0,321,12,1,
+42599,322,5,0,323,
+11,1,106,0,324,
+4,4,65,0,84,
+0,1,-1,3,65,
+0,325,12,1,1093,
+326,5,63,3,109,
+0,327,12,1,1094,
+328,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+329,11,1,829,0,
+330,4,10,73,0,
+68,0,69,0,78,
+0,84,0,1,-1,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,331,11,
+1,829,0,330,1,
+-1,3,66,0,325,
+3,67,0,325,3,
+68,0,325,3,69,
+0,332,12,1,1337,
+333,5,65,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+43,0,237,3,45,
+0,237,3,48,0,
+334,12,1,1399,335,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,334,3,49,0,
+334,3,50,0,334,
+3,51,0,334,3,
+52,0,334,3,53,
+0,334,3,54,0,
+334,3,55,0,334,
+3,56,0,334,3,
+57,0,334,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,336,12,1,1405,
+337,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+338,11,1,829,0,
+330,1,-1,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+336,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+339,11,1,829,0,
+330,1,-1,3,49,
+0,334,3,50,0,
+334,3,51,0,334,
+3,52,0,334,3,
+53,0,334,3,54,
+0,334,3,55,0,
+334,3,56,0,334,
+3,57,0,334,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+340,11,1,829,0,
+330,1,-1,3,70,
+0,341,12,1,2058,
+342,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+343,11,1,829,0,
+330,1,-1,3,71,
+0,325,3,72,0,
+325,3,73,0,325,
+3,74,0,325,3,
+75,0,325,3,76,
+0,325,3,77,0,
+325,3,78,0,325,
+3,79,0,325,3,
+80,0,325,3,81,
+0,325,3,82,0,
+325,3,83,0,325,
+3,84,0,325,3,
+85,0,325,3,86,
+0,325,3,87,0,
+325,3,88,0,325,
+3,89,0,325,3,
+90,0,325,3,91,
+0,344,12,1,40422,
+345,5,0,346,11,
+1,126,0,347,4,
+24,76,0,69,0,
+70,0,84,0,95,
+0,66,0,82,0,
+65,0,67,0,75,
+0,69,0,84,0,
+1,-1,3,93,0,
+348,12,1,40787,349,
+5,0,350,11,1,
+131,0,351,4,26,
+82,0,73,0,71,
+0,72,0,84,0,
+95,0,66,0,82,
+0,65,0,67,0,
+75,0,69,0,84,
+0,1,-1,3,94,
+0,352,12,1,44771,
+353,5,0,354,11,
+1,170,0,355,4,
+10,67,0,65,0,
+82,0,69,0,84,
+0,1,-1,3,95,
+0,325,3,97,0,
+356,12,1,20935,357,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,358,12,
+1,20970,359,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,360,12,1,21005,
+361,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+362,12,1,21048,363,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,364,12,1,
+21093,365,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,366,
+12,1,21143,367,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,368,11,
+1,380,0,369,4,
+24,65,0,84,0,
+84,0,65,0,67,
+0,72,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,-1,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,370,11,
+1,829,0,330,1,
+-1,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,371,11,1,
+829,0,330,1,-1,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,372,
+11,1,829,0,330,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,373,12,
+1,21536,374,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,375,12,
+1,21569,376,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,377,12,1,21599,
+378,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,379,
+12,1,21634,380,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,381,
+12,1,21720,382,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,383,12,1,
+21755,384,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,385,12,1,21798,
+386,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,387,12,1,21831,
+388,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,389,
+12,1,21880,390,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,391,
+12,1,21927,392,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,393,12,1,
+21962,394,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,395,11,1,350,
+0,396,4,38,65,
+0,84,0,95,0,
+82,0,79,0,84,
+0,95,0,84,0,
+65,0,82,0,71,
+0,69,0,84,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,397,
+11,1,829,0,330,
+1,-1,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+398,11,1,829,0,
+330,1,-1,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,399,11,
+1,829,0,330,1,
+-1,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,400,
+11,1,829,0,330,
+1,-1,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,401,11,1,829,
+0,330,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,402,
+11,1,829,0,330,
+1,-1,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+403,11,1,829,0,
+330,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,404,11,
+1,829,0,330,1,
+-1,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,405,11,1,829,
+0,330,1,-1,3,
+115,0,327,3,116,
+0,406,12,1,22771,
+407,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+408,12,1,22814,409,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+410,12,1,22847,411,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,412,12,
+1,22896,413,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,414,12,
+1,22943,415,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,416,12,1,22978,
+417,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+418,11,1,367,0,
+419,4,30,65,0,
+84,0,95,0,84,
+0,65,0,82,0,
+71,0,69,0,84,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+420,11,1,829,0,
+330,1,-1,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,421,11,1,829,
+0,330,1,-1,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,422,
+11,1,829,0,330,
+1,-1,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+423,11,1,829,0,
+330,1,-1,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,424,11,1,
+829,0,330,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+425,11,1,829,0,
+330,1,-1,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,426,11,1,829,
+0,330,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,427,
+11,1,829,0,330,
+1,-1,3,98,0,
+325,3,99,0,428,
+12,1,23697,429,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,430,12,1,
+23727,431,5,63,3,
+109,0,327,3,110,
+0,432,12,1,23756,
+433,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,434,
+12,1,23791,435,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,436,
+12,1,23824,437,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,438,12,1,
+23854,439,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+440,12,1,23908,441,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,442,
+11,1,450,0,443,
+4,26,67,0,79,
+0,78,0,84,0,
+82,0,79,0,76,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,-1,
+444,11,1,829,0,
+330,1,-1,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,445,11,
+1,829,0,330,1,
+-1,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,446,
+11,1,829,0,330,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,447,11,1,
+829,0,330,1,-1,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,448,12,
+1,24381,449,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,450,12,1,24435,
+451,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,452,12,1,
+24486,453,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,454,12,1,24520,
+455,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,456,12,1,
+24571,457,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+458,12,1,24601,459,
+5,63,3,109,0,
+327,3,110,0,460,
+12,1,24630,461,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,462,
+12,1,24716,463,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,464,12,
+1,24750,465,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,466,12,1,24785,
+467,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+468,12,1,24828,469,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+470,12,1,24861,471,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,472,12,
+1,24896,473,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,474,11,1,
+431,0,475,4,42,
+67,0,79,0,76,
+0,76,0,73,0,
+83,0,73,0,79,
+0,78,0,95,0,
+83,0,84,0,65,
+0,82,0,84,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,476,
+11,1,829,0,330,
+1,-1,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+477,11,1,829,0,
+330,1,-1,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,478,11,1,
+829,0,330,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+479,11,1,829,0,
+330,1,-1,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,480,12,
+1,25363,481,5,63,
+3,109,0,327,3,
+110,0,482,12,1,
+25392,483,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,484,12,
+1,25438,485,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,486,11,1,
+414,0,487,4,38,
+67,0,79,0,76,
+0,76,0,73,0,
+83,0,73,0,79,
+0,78,0,95,0,
+69,0,78,0,68,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,-1,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,488,11,1,
+829,0,330,1,-1,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,489,
+11,1,829,0,330,
+1,-1,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+490,11,1,829,0,
+330,1,-1,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,491,11,1,401,
+0,492,4,30,67,
+0,79,0,76,0,
+76,0,73,0,83,
+0,73,0,79,0,
+78,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+-1,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+493,11,1,829,0,
+330,1,-1,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,494,11,
+1,829,0,330,1,
+-1,3,106,0,327,
+3,107,0,327,3,
+108,0,327,495,11,
+1,829,0,330,1,
+-1,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+496,11,1,829,0,
+330,1,-1,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+497,11,1,829,0,
+330,1,-1,498,11,
+1,829,0,330,1,
+-1,499,11,1,829,
+0,330,1,-1,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,500,12,1,
+26387,501,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,502,12,1,26430,
+503,5,63,3,109,
+0,327,3,110,0,
+504,12,1,26459,505,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,506,12,
+1,26508,507,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,508,12,
+1,26555,509,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,510,
+12,1,26601,511,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,512,11,
+1,390,0,513,4,
+26,67,0,72,0,
+65,0,78,0,71,
+0,69,0,68,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,-1,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,514,11,1,829,
+0,330,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,515,11,1,
+829,0,330,1,-1,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+516,11,1,829,0,
+330,1,-1,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,517,11,1,
+829,0,330,1,-1,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,518,
+11,1,829,0,330,
+1,-1,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,519,11,
+1,829,0,330,1,
+-1,3,100,0,520,
+12,1,27178,521,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,522,12,1,
+27208,523,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,524,11,1,223,
+0,525,4,4,68,
+0,79,0,1,-1,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+526,12,1,27341,527,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,528,12,
+1,27376,529,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,530,12,1,
+27419,531,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,532,12,1,27453,
+533,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,534,12,1,27500,
+535,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,536,12,1,27533,
+537,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,538,12,1,
+27570,539,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,540,12,1,
+27617,541,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,542,12,1,
+27650,543,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,544,11,1,461,
+0,545,4,32,68,
+0,65,0,84,0,
+65,0,83,0,69,
+0,82,0,86,0,
+69,0,82,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,-1,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,546,11,1,829,
+0,330,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,547,11,1,
+829,0,330,1,-1,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,548,11,1,
+829,0,330,1,-1,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,549,11,
+1,829,0,330,1,
+-1,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,550,
+11,1,829,0,330,
+1,-1,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,551,11,1,829,
+0,330,1,-1,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,552,11,
+1,829,0,330,1,
+-1,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,553,11,1,829,
+0,330,1,-1,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,554,
+12,1,28425,555,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,556,12,
+1,28473,557,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,558,12,1,
+28516,559,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,560,
+12,1,28552,561,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,562,12,1,
+28606,563,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+564,12,1,28641,565,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,566,
+11,1,245,0,567,
+4,26,68,0,69,
+0,70,0,65,0,
+85,0,76,0,84,
+0,95,0,83,0,
+84,0,65,0,84,
+0,69,0,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+568,11,1,829,0,
+330,1,-1,569,11,
+1,829,0,330,1,
+-1,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,570,11,1,
+829,0,330,1,-1,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,571,
+11,1,829,0,330,
+1,-1,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,572,11,1,829,
+0,330,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,573,11,1,
+829,0,330,1,-1,
+3,101,0,574,12,
+1,29219,575,5,65,
+3,109,0,576,12,
+1,29247,577,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,578,12,1,
+29290,579,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,580,12,
+1,29341,581,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,582,12,1,29395,
+583,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+584,11,1,475,0,
+585,4,22,69,0,
+77,0,65,0,73,
+0,76,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,-1,586,11,1,
+829,0,330,1,-1,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,587,11,1,
+829,0,330,1,-1,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,588,
+11,1,829,0,330,
+1,-1,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+43,0,237,3,45,
+0,237,3,48,0,
+334,3,49,0,334,
+3,50,0,334,3,
+51,0,334,3,52,
+0,334,3,53,0,
+334,3,54,0,334,
+3,55,0,334,3,
+56,0,334,3,57,
+0,334,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,589,12,1,
+29753,590,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,591,12,1,29787,
+592,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,593,12,1,29834,
+594,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+595,11,1,215,0,
+596,4,8,69,0,
+76,0,83,0,69,
+0,1,-1,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,597,11,1,829,
+0,330,1,-1,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,598,11,
+1,829,0,330,1,
+-1,599,11,1,829,
+0,330,1,-1,3,
+102,0,600,12,1,
+30180,601,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+602,12,1,30210,603,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+604,12,1,30243,605,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,606,
+11,1,238,0,607,
+4,6,70,0,79,
+0,82,0,1,-1,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,608,11,
+1,829,0,330,1,
+-1,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+609,12,1,30474,610,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,611,12,
+1,30504,612,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,613,12,1,
+30547,614,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+615,12,1,30582,616,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,617,
+11,1,294,0,618,
+4,20,70,0,76,
+0,79,0,65,0,
+84,0,95,0,84,
+0,89,0,80,0,
+69,0,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,619,
+11,1,829,0,330,
+1,-1,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,620,11,1,829,
+0,330,1,-1,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,621,
+11,1,829,0,330,
+1,-1,622,11,1,
+829,0,330,1,-1,
+3,103,0,325,3,
+104,0,623,12,1,
+31022,624,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+625,12,1,31057,626,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,627,12,
+1,31092,628,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+629,12,1,31123,630,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+631,12,1,31209,632,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+633,12,1,31242,634,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+635,12,1,31289,636,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,637,
+12,1,31323,638,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,639,12,1,31354,
+640,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,641,
+12,1,31384,642,5,
+63,3,109,0,327,
+3,110,0,643,12,
+1,31413,644,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,645,12,1,
+31447,646,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,647,12,1,
+31494,648,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,649,11,1,484,
+0,650,4,38,72,
+0,84,0,84,0,
+80,0,95,0,82,
+0,69,0,83,0,
+80,0,79,0,78,
+0,83,0,69,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,651,11,1,
+829,0,330,1,-1,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,652,
+11,1,829,0,330,
+1,-1,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,653,11,1,829,
+0,330,1,-1,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,654,
+11,1,829,0,330,
+1,-1,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,655,11,
+1,829,0,330,1,
+-1,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+656,11,1,829,0,
+330,1,-1,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,657,11,1,829,
+0,330,1,-1,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,658,11,1,
+829,0,330,1,-1,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,659,11,
+1,829,0,330,1,
+-1,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,660,11,1,
+829,0,330,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+661,11,1,829,0,
+330,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,662,11,
+1,829,0,330,1,
+-1,3,105,0,663,
+12,1,32583,664,5,
+63,3,109,0,327,
+3,110,0,665,12,
+1,32612,666,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,667,12,1,32647,
+668,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,669,12,1,32694,
+670,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,671,
+12,1,32743,672,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,673,
+12,1,32790,674,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,675,
+12,1,32823,676,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,677,11,
+1,283,0,678,4,
+24,73,0,78,0,
+84,0,69,0,71,
+0,69,0,82,0,
+95,0,84,0,89,
+0,80,0,69,0,
+1,-1,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+679,11,1,829,0,
+330,1,-1,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,680,11,1,829,
+0,330,1,-1,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,681,
+11,1,829,0,330,
+1,-1,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+682,11,1,829,0,
+330,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,683,11,
+1,829,0,330,1,
+-1,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+684,12,1,33351,685,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,686,
+11,1,209,0,687,
+4,4,73,0,70,
+0,1,-1,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,688,11,1,
+829,0,330,1,-1,
+3,106,0,689,12,
+1,33544,690,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+691,12,1,33580,692,
+5,63,3,109,0,
+693,12,1,33608,694,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,695,12,1,
+33639,696,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,697,11,1,265,
+0,698,4,8,74,
+0,85,0,77,0,
+80,0,1,-1,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+699,11,1,829,0,
+330,1,-1,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,700,11,1,829,
+0,330,1,-1,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+701,11,1,829,0,
+330,1,-1,3,107,
+0,702,12,1,34025,
+703,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,704,12,1,34072,
+705,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,706,
+12,1,34112,707,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,708,11,
+1,313,0,709,4,
+16,75,0,69,0,
+89,0,95,0,84,
+0,89,0,80,0,
+69,0,1,-1,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,710,
+11,1,829,0,330,
+1,-1,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+711,11,1,829,0,
+330,1,-1,3,108,
+0,712,12,1,34386,
+713,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+714,12,1,34429,715,
+5,63,3,109,0,
+327,3,110,0,716,
+12,1,34458,717,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+718,12,1,34504,719,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+720,12,1,34590,721,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,722,12,1,
+34635,723,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+724,12,1,34665,725,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,726,12,
+1,34719,727,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,728,12,1,34773,
+729,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,730,12,1,
+34824,731,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,732,12,1,34858,
+733,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,734,12,1,
+34909,735,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+736,12,1,34939,737,
+5,63,3,109,0,
+327,3,110,0,738,
+12,1,34968,739,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,740,
+12,1,35054,741,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,742,12,
+1,35088,743,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,744,12,1,35123,
+745,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+746,12,1,35166,747,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+748,12,1,35199,749,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,750,12,
+1,35234,751,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,752,11,1,
+541,0,753,4,52,
+76,0,65,0,78,
+0,68,0,95,0,
+67,0,79,0,76,
+0,76,0,73,0,
+83,0,73,0,79,
+0,78,0,95,0,
+83,0,84,0,65,
+0,82,0,84,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,754,
+11,1,829,0,330,
+1,-1,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+755,11,1,829,0,
+330,1,-1,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,756,11,1,
+829,0,330,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+757,11,1,829,0,
+330,1,-1,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,758,12,
+1,35701,759,5,63,
+3,109,0,327,3,
+110,0,760,12,1,
+35730,761,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,762,12,
+1,35776,763,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,764,11,1,
+519,0,765,4,48,
+76,0,65,0,78,
+0,68,0,95,0,
+67,0,79,0,76,
+0,76,0,73,0,
+83,0,73,0,79,
+0,78,0,95,0,
+69,0,78,0,68,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,-1,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,766,11,1,
+829,0,330,1,-1,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,767,
+11,1,829,0,330,
+1,-1,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+768,11,1,829,0,
+330,1,-1,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,769,11,1,501,
+0,770,4,40,76,
+0,65,0,78,0,
+68,0,95,0,67,
+0,79,0,76,0,
+76,0,73,0,83,
+0,73,0,79,0,
+78,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+-1,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+771,11,1,829,0,
+330,1,-1,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,772,11,
+1,829,0,330,1,
+-1,3,106,0,327,
+3,107,0,327,3,
+108,0,327,773,11,
+1,829,0,330,1,
+-1,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+774,11,1,829,0,
+330,1,-1,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+775,11,1,829,0,
+330,1,-1,776,11,
+1,829,0,330,1,
+-1,777,11,1,829,
+0,330,1,-1,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,778,
+11,1,829,0,330,
+1,-1,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,779,11,
+1,829,0,330,1,
+-1,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,780,
+11,1,829,0,330,
+1,-1,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,781,
+11,1,829,0,330,
+1,-1,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,782,11,1,829,
+0,330,1,-1,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+783,12,1,37077,784,
+5,63,3,109,0,
+327,3,110,0,785,
+12,1,37106,786,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,787,12,
+1,37159,788,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,789,12,
+1,37245,790,5,63,
+3,109,0,791,12,
+1,37273,792,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,793,12,
+1,37320,794,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,795,12,1,
+37354,796,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,797,12,1,37388,
+798,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+799,12,1,37431,800,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,801,12,
+1,37480,802,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,803,12,
+1,37527,804,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,805,11,1,
+565,0,806,4,36,
+76,0,73,0,78,
+0,75,0,95,0,
+77,0,69,0,83,
+0,83,0,65,0,
+71,0,69,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,-1,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,807,11,1,829,
+0,330,1,-1,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,808,
+11,1,829,0,330,
+1,-1,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,809,11,1,829,
+0,330,1,-1,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,810,11,
+1,829,0,330,1,
+-1,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+811,11,1,829,0,
+330,1,-1,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,812,11,1,829,
+0,330,1,-1,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,813,11,1,
+829,0,330,1,-1,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,814,11,
+1,829,0,330,1,
+-1,3,108,0,327,
+815,11,1,829,0,
+330,1,-1,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,816,12,1,
+38311,817,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+818,12,1,38346,819,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+820,12,1,38393,821,
+5,63,3,109,0,
+327,3,110,0,822,
+12,1,38422,823,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,824,11,
+1,581,0,825,4,
+24,76,0,73,0,
+83,0,84,0,69,
+0,78,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,-1,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,826,11,1,829,
+0,330,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,827,11,1,
+342,0,828,4,18,
+76,0,73,0,83,
+0,84,0,95,0,
+84,0,89,0,80,
+0,69,0,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+829,11,1,829,0,
+330,1,-1,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,830,11,1,
+829,0,330,1,-1,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,831,11,1,
+829,0,330,1,-1,
+3,109,0,832,12,
+1,2200,833,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,834,12,1,2230,
+835,5,63,3,109,
+0,327,3,110,0,
+836,12,1,2259,837,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+838,12,1,2306,839,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,840,12,
+1,2346,841,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,842,11,1,
+591,0,843,4,22,
+77,0,79,0,78,
+0,69,0,89,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,-1,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,844,
+11,1,829,0,330,
+1,-1,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+845,11,1,829,0,
+330,1,-1,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,846,
+12,1,2627,847,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+848,12,1,2678,849,
+5,63,3,109,0,
+327,3,110,0,850,
+12,1,2707,851,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,852,12,1,
+2756,853,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,854,12,1,
+2842,855,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,856,12,1,2876,
+857,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,858,
+12,1,2911,859,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,860,12,
+1,2954,861,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,862,12,
+1,2987,863,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,864,12,1,3022,
+865,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+866,11,1,614,0,
+867,4,36,77,0,
+79,0,86,0,73,
+0,78,0,71,0,
+95,0,83,0,84,
+0,65,0,82,0,
+84,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+-1,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,868,11,1,829,
+0,330,1,-1,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,869,11,1,
+829,0,330,1,-1,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,870,
+11,1,829,0,330,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,871,11,1,
+829,0,330,1,-1,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+872,12,1,3489,873,
+5,63,3,109,0,
+327,3,110,0,874,
+12,1,3518,875,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+876,12,1,3564,877,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,878,
+11,1,600,0,879,
+4,32,77,0,79,
+0,86,0,73,0,
+78,0,71,0,95,
+0,69,0,78,0,
+68,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+-1,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,880,11,
+1,829,0,330,1,
+-1,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+881,11,1,829,0,
+330,1,-1,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,882,11,1,829,
+0,330,1,-1,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,883,11,1,
+829,0,330,1,-1,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+884,11,1,829,0,
+330,1,-1,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,885,11,1,
+829,0,330,1,-1,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,886,11,1,
+829,0,330,1,-1,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,887,11,1,
+829,0,330,1,-1,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+888,11,1,829,0,
+330,1,-1,3,110,
+0,889,12,1,4361,
+890,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,891,
+12,1,4391,892,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,893,12,1,
+4426,894,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,895,12,1,
+4512,896,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,897,12,1,4555,
+898,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,899,
+12,1,4590,900,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,901,
+12,1,4676,902,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,903,
+12,1,4709,904,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,905,12,1,
+4739,906,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+907,12,1,4774,908,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+909,12,1,4860,910,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,911,12,
+1,4895,912,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,913,12,1,
+4938,914,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,915,12,1,
+4971,916,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+917,12,1,5020,918,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+919,12,1,5067,920,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,921,12,
+1,5102,922,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,923,11,1,
+643,0,924,4,46,
+78,0,79,0,84,
+0,95,0,65,0,
+84,0,95,0,82,
+0,79,0,84,0,
+95,0,84,0,65,
+0,82,0,71,0,
+69,0,84,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,925,11,
+1,829,0,330,1,
+-1,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,926,
+11,1,829,0,330,
+1,-1,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,927,11,1,
+829,0,330,1,-1,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,928,11,
+1,829,0,330,1,
+-1,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+929,11,1,829,0,
+330,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,930,11,
+1,829,0,330,1,
+-1,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,931,
+11,1,829,0,330,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,932,11,1,
+829,0,330,1,-1,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+933,11,1,829,0,
+330,1,-1,3,115,
+0,327,3,116,0,
+934,12,1,5911,935,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,936,
+12,1,5954,937,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,938,
+12,1,5987,939,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,940,12,1,
+6036,941,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,942,12,1,
+6083,943,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+944,12,1,6118,945,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,946,
+11,1,664,0,947,
+4,38,78,0,79,
+0,84,0,95,0,
+65,0,84,0,95,
+0,84,0,65,0,
+82,0,71,0,69,
+0,84,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,948,11,1,
+829,0,330,1,-1,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,949,11,
+1,829,0,330,1,
+-1,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,950,11,1,829,
+0,330,1,-1,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,951,11,1,
+829,0,330,1,-1,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,952,
+11,1,829,0,330,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,953,11,1,
+829,0,330,1,-1,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,954,11,
+1,829,0,330,1,
+-1,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,955,11,1,829,
+0,330,1,-1,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,956,11,
+1,829,0,330,1,
+-1,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,957,
+11,1,829,0,330,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,958,12,
+1,6997,959,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,960,12,1,
+7031,961,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,962,12,1,
+7078,963,5,63,3,
+109,0,327,3,110,
+0,964,12,1,7107,
+965,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+966,12,1,7141,967,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,968,12,
+1,7171,969,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,970,12,
+1,7204,971,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,972,11,1,
+630,0,973,4,30,
+78,0,79,0,95,
+0,83,0,69,0,
+78,0,83,0,79,
+0,82,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,-1,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+974,11,1,829,0,
+330,1,-1,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,975,11,
+1,829,0,330,1,
+-1,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+976,11,1,829,0,
+330,1,-1,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,977,11,1,
+829,0,330,1,-1,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,978,11,
+1,829,0,330,1,
+-1,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+979,11,1,829,0,
+330,1,-1,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,980,11,1,829,
+0,330,1,-1,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,981,
+11,1,829,0,330,
+1,-1,3,111,0,
+982,12,1,7962,983,
+5,63,3,109,0,
+327,3,110,0,984,
+12,1,7991,985,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,986,
+12,1,8077,987,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,988,
+12,1,8110,989,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,990,
+12,1,8157,991,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,992,12,1,8198,
+993,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+994,11,1,695,0,
+995,4,24,79,0,
+78,0,95,0,82,
+0,69,0,90,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,-1,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+996,11,1,829,0,
+330,1,-1,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,997,11,1,829,
+0,330,1,-1,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,998,11,1,
+829,0,330,1,-1,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,999,11,
+1,829,0,330,1,
+-1,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,1000,
+12,1,8606,1001,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,1002,
+12,1,8658,1003,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,1004,
+12,1,8705,1005,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,1006,12,1,8750,
+1007,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,1008,
+12,1,8785,1009,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,1010,
+12,1,8871,1011,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,1012,
+12,1,8904,1013,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,1014,
+12,1,8951,1015,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,1016,12,1,8992,
+1017,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1018,11,1,681,0,
+1019,4,32,79,0,
+66,0,74,0,69,
+0,67,0,84,0,
+95,0,82,0,69,
+0,90,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,-1,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1020,11,
+1,829,0,330,1,
+-1,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1021,
+11,1,829,0,330,
+1,-1,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1022,11,1,829,0,
+330,1,-1,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1023,11,1,829,
+0,330,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1024,
+11,1,829,0,330,
+1,-1,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1025,11,
+1,829,0,330,1,
+-1,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1026,
+11,1,829,0,330,
+1,-1,3,107,0,
+327,3,108,0,327,
+1027,11,1,829,0,
+330,1,-1,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1028,11,
+1,829,0,330,1,
+-1,3,112,0,325,
+3,113,0,325,3,
+114,0,1029,12,1,
+9765,1030,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+1031,12,1,9795,1032,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,1033,12,
+1,9830,1034,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,1035,12,1,
+9873,1036,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+1037,12,1,9908,1038,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,1039,12,1,9959,
+1040,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,1041,
+12,1,9989,1042,5,
+63,3,109,0,327,
+3,110,0,1043,12,
+1,10018,1044,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1045,11,1,
+330,0,1046,4,26,
+82,0,79,0,84,
+0,65,0,84,0,
+73,0,79,0,78,
+0,95,0,84,0,
+89,0,80,0,69,
+0,1,-1,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1047,11,1,
+829,0,330,1,-1,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1048,11,1,829,0,
+330,1,-1,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1049,11,1,829,0,
+330,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1050,11,
+1,829,0,330,1,
+-1,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1051,11,1,829,0,
+330,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1052,11,
+1,829,0,330,1,
+-1,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,1053,
+12,1,10641,1054,5,
+63,3,109,0,327,
+3,110,0,1055,12,
+1,10670,1056,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,1057,12,
+1,10756,1058,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,1059,12,1,10791,
+1060,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,1061,12,1,
+10842,1062,5,63,3,
+109,0,1063,12,1,
+10870,1064,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,1065,12,1,
+10917,1066,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,1067,12,1,
+11003,1068,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,1069,
+12,1,11034,1070,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,1071,
+12,1,11081,1072,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,1073,
+12,1,11114,1074,5,
+63,3,109,0,1075,
+12,1,11142,1076,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+1077,12,1,11193,1078,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,1079,
+12,1,11227,1080,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,1081,12,
+1,11261,1082,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,1083,
+12,1,11312,1084,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,1085,12,1,
+11342,1086,5,63,3,
+109,0,327,3,110,
+0,1087,12,1,11371,
+1088,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+1089,12,1,11405,1090,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1091,
+11,1,720,0,1092,
+4,52,82,0,85,
+0,78,0,95,0,
+84,0,73,0,77,
+0,69,0,95,0,
+80,0,69,0,82,
+0,77,0,73,0,
+83,0,83,0,73,
+0,79,0,78,0,
+83,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+-1,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1093,11,1,829,0,
+330,1,-1,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1094,11,1,
+829,0,330,1,-1,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1095,11,1,829,0,
+330,1,-1,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1096,11,1,829,0,
+330,1,-1,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1097,11,1,
+829,0,330,1,-1,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1098,
+11,1,829,0,330,
+1,-1,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1099,
+11,1,829,0,330,
+1,-1,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1100,11,1,829,0,
+330,1,-1,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1101,11,1,829,
+0,330,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1102,11,1,
+829,0,330,1,-1,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1103,11,1,829,
+0,330,1,-1,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1104,11,1,
+829,0,330,1,-1,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1105,11,
+1,829,0,330,1,
+-1,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1106,
+11,1,829,0,330,
+1,-1,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1107,
+11,1,829,0,330,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1108,11,1,
+829,0,330,1,-1,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1109,11,
+1,829,0,330,1,
+-1,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1110,11,1,829,0,
+330,1,-1,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+1111,12,1,12932,1112,
+5,63,3,109,0,
+1113,12,1,12960,1114,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,1115,12,
+1,12990,1116,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,1117,12,1,13025,
+1118,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,1119,12,1,13072,
+1120,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,1121,12,1,13158,
+1122,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,1123,12,1,
+13204,1124,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,1125,12,1,13247,
+1126,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,1127,
+12,1,13282,1128,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,1129,12,
+1,13325,1130,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1131,11,1,
+705,0,1132,4,34,
+82,0,69,0,77,
+0,79,0,84,0,
+69,0,95,0,68,
+0,65,0,84,0,
+65,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+-1,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1133,11,1,829,0,
+330,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1134,11,
+1,829,0,330,1,
+-1,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1135,11,1,829,0,
+330,1,-1,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1136,11,1,829,0,
+330,1,-1,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1137,11,1,829,
+0,330,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1138,11,1,
+829,0,330,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1139,11,1,829,0,
+330,1,-1,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1140,11,
+1,829,0,330,1,
+-1,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,1141,12,
+1,14047,1142,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+1143,12,1,14083,1144,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+1145,12,1,14116,1146,
+5,63,3,109,0,
+327,3,110,0,1147,
+12,1,14145,1148,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1149,11,
+1,273,0,1150,4,
+12,82,0,69,0,
+84,0,85,0,82,
+0,78,0,1,-1,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1151,
+11,1,829,0,330,
+1,-1,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1152,11,1,829,0,
+330,1,-1,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1153,
+11,1,829,0,330,
+1,-1,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1154,11,1,
+829,0,330,1,-1,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1155,11,
+1,829,0,330,1,
+-1,3,115,0,1156,
+12,1,14686,1157,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,1158,12,1,
+14721,1159,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,1160,12,1,
+14754,1161,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,1162,12,
+1,14805,1163,5,63,
+3,109,0,327,3,
+110,0,1164,12,1,
+14834,1165,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+1166,12,1,14883,1167,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1168,
+11,1,303,0,1169,
+4,22,83,0,84,
+0,82,0,73,0,
+78,0,71,0,95,
+0,84,0,89,0,
+80,0,69,0,1,
+-1,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1170,11,1,829,
+0,330,1,-1,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1171,11,
+1,829,0,330,1,
+-1,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1172,11,
+1,829,0,330,1,
+-1,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,1173,
+12,1,15244,1174,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,1175,12,1,
+15279,1176,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,1177,12,1,
+15326,1178,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,1179,12,1,
+15412,1180,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,1181,12,1,
+15459,1182,5,63,3,
+109,0,327,3,110,
+0,1183,12,1,15488,
+1184,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,1185,
+12,1,15523,1186,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,1187,
+12,1,15556,1188,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,1189,12,1,
+15596,1190,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1191,11,1,754,
+0,1192,4,34,83,
+0,84,0,65,0,
+84,0,69,0,95,
+0,69,0,78,0,
+84,0,82,0,89,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,-1,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1193,11,1,829,0,
+330,1,-1,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1194,11,1,829,
+0,330,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1195,
+11,1,829,0,330,
+1,-1,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,1196,12,1,15978,
+1197,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,1198,12,1,
+16029,1199,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+1200,12,1,16064,1201,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1202,
+11,1,769,0,1203,
+4,32,83,0,84,
+0,65,0,84,0,
+69,0,95,0,69,
+0,88,0,73,0,
+84,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+-1,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1204,11,1,829,
+0,330,1,-1,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1205,11,1,829,
+0,330,1,-1,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1206,11,
+1,829,0,330,1,
+-1,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1207,
+11,1,829,0,330,
+1,-1,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1208,11,1,256,0,
+1209,4,10,83,0,
+84,0,65,0,84,
+0,69,0,1,-1,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1210,11,
+1,829,0,330,1,
+-1,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1211,11,1,829,
+0,330,1,-1,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1212,11,
+1,829,0,330,1,
+-1,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,1213,12,1,
+16773,1214,5,63,3,
+109,0,327,3,110,
+0,1215,12,1,16802,
+1216,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+1217,12,1,16836,1218,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,1219,12,
+1,16866,1220,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,1221,12,
+1,16899,1222,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1223,11,1,
+744,0,1224,4,24,
+83,0,69,0,78,
+0,83,0,79,0,
+82,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+-1,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1225,
+11,1,829,0,330,
+1,-1,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1226,11,1,
+829,0,330,1,-1,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1227,
+11,1,829,0,330,
+1,-1,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1228,11,1,829,
+0,330,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1229,11,1,
+829,0,330,1,-1,
+3,116,0,1230,12,
+1,17447,1231,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,1232,12,1,17477,
+1233,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,1234,12,
+1,17513,1235,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+1236,12,1,17558,1237,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,1238,12,1,
+17608,1239,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,1240,12,1,
+17694,1241,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,1242,12,1,17728,
+1243,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,1244,
+12,1,17763,1245,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,1246,12,
+1,17806,1247,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,1248,12,
+1,17839,1249,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,1250,12,1,17874,
+1251,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1252,11,1,801,0,
+1253,4,34,84,0,
+79,0,85,0,67,
+0,72,0,95,0,
+83,0,84,0,65,
+0,82,0,84,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,-1,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1254,
+11,1,829,0,330,
+1,-1,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1255,11,1,829,0,
+330,1,-1,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1256,11,1,
+829,0,330,1,-1,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1257,11,1,829,0,
+330,1,-1,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,1258,12,
+1,18341,1259,5,63,
+3,109,0,327,3,
+110,0,1260,12,1,
+18370,1261,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,1262,12,
+1,18416,1263,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1264,11,1,
+816,0,1265,4,30,
+84,0,79,0,85,
+0,67,0,72,0,
+95,0,69,0,78,
+0,68,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,-1,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1266,
+11,1,829,0,330,
+1,-1,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1267,11,1,829,
+0,330,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1268,11,1,
+829,0,330,1,-1,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1269,11,
+1,792,0,1270,4,
+22,84,0,79,0,
+85,0,67,0,72,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,-1,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+327,1271,11,1,829,
+0,330,1,-1,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1272,11,1,829,0,
+330,1,-1,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1273,
+11,1,829,0,330,
+1,-1,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,1274,
+12,1,19058,1275,5,
+63,3,109,0,1276,
+12,1,19086,1277,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,1278,
+12,1,19133,1279,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,1280,
+12,1,19166,1281,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1282,11,
+1,783,0,1283,4,
+22,84,0,73,0,
+77,0,69,0,82,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,-1,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1284,11,
+1,829,0,330,1,
+-1,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1285,
+11,1,829,0,330,
+1,-1,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1286,11,1,829,0,
+330,1,-1,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1287,11,1,829,0,
+330,1,-1,3,117,
+0,325,3,118,0,
+1288,12,1,19609,1289,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+1290,12,1,19656,1291,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,1292,12,1,
+19701,1293,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+1294,12,1,19736,1295,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,1296,12,
+1,19766,1297,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,1298,12,
+1,19799,1299,5,63,
+3,109,0,327,3,
+110,0,327,3,111,
+0,327,3,112,0,
+327,3,113,0,327,
+3,114,0,327,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1300,11,1,
+320,0,1301,4,22,
+86,0,69,0,67,
+0,84,0,79,0,
+82,0,95,0,84,
+0,89,0,80,0,
+69,0,1,-1,3,
+115,0,327,3,116,
+0,327,3,117,0,
+327,3,118,0,327,
+3,119,0,327,3,
+120,0,327,3,121,
+0,327,3,122,0,
+327,3,48,0,327,
+3,49,0,327,3,
+50,0,327,3,51,
+0,327,3,52,0,
+327,3,53,0,327,
+3,54,0,327,3,
+55,0,327,3,56,
+0,327,3,57,0,
+327,3,65,0,327,
+3,66,0,327,3,
+67,0,327,3,68,
+0,327,3,69,0,
+327,3,70,0,327,
+3,71,0,327,3,
+72,0,327,3,73,
+0,327,3,74,0,
+327,3,75,0,327,
+3,76,0,327,3,
+77,0,327,3,78,
+0,327,3,79,0,
+327,3,80,0,327,
+3,81,0,327,3,
+82,0,327,3,83,
+0,327,3,84,0,
+327,3,85,0,327,
+3,86,0,327,3,
+87,0,327,3,88,
+0,327,3,89,0,
+327,3,90,0,327,
+3,95,0,327,3,
+97,0,327,3,98,
+0,327,3,99,0,
+327,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1302,11,1,
+829,0,330,1,-1,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,327,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1303,11,1,829,0,
+330,1,-1,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1304,11,
+1,829,0,330,1,
+-1,3,100,0,327,
+3,101,0,327,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1305,11,1,
+829,0,330,1,-1,
+3,102,0,327,3,
+103,0,327,3,104,
+0,327,3,105,0,
+327,3,106,0,327,
+3,107,0,327,3,
+108,0,327,1306,11,
+1,829,0,330,1,
+-1,3,119,0,1307,
+12,1,20330,1308,5,
+63,3,109,0,327,
+3,110,0,327,3,
+111,0,327,3,112,
+0,327,3,113,0,
+327,3,114,0,327,
+3,115,0,327,3,
+116,0,327,3,117,
+0,327,3,118,0,
+327,3,119,0,327,
+3,120,0,327,3,
+121,0,327,3,122,
+0,327,3,48,0,
+327,3,49,0,327,
+3,50,0,327,3,
+51,0,327,3,52,
+0,327,3,53,0,
+327,3,54,0,327,
+3,55,0,327,3,
+56,0,327,3,57,
+0,327,3,65,0,
+327,3,66,0,327,
+3,67,0,327,3,
+68,0,327,3,69,
+0,327,3,70,0,
+327,3,71,0,327,
+3,72,0,327,3,
+73,0,327,3,74,
+0,327,3,75,0,
+327,3,76,0,327,
+3,77,0,327,3,
+78,0,327,3,79,
+0,327,3,80,0,
+327,3,81,0,327,
+3,82,0,327,3,
+83,0,327,3,84,
+0,327,3,85,0,
+327,3,86,0,327,
+3,87,0,327,3,
+88,0,327,3,89,
+0,327,3,90,0,
+327,3,95,0,327,
+3,97,0,327,3,
+98,0,327,3,99,
+0,327,3,100,0,
+327,3,101,0,327,
+3,102,0,327,3,
+103,0,327,3,104,
+0,1309,12,1,20380,
+1310,5,63,3,109,
+0,327,3,110,0,
+327,3,111,0,327,
+3,112,0,327,3,
+113,0,327,3,114,
+0,327,3,115,0,
+327,3,116,0,327,
+3,117,0,327,3,
+118,0,327,3,119,
+0,327,3,120,0,
+327,3,121,0,327,
+3,122,0,327,3,
+48,0,327,3,49,
+0,327,3,50,0,
+327,3,51,0,327,
+3,52,0,327,3,
+53,0,327,3,54,
+0,327,3,55,0,
+327,3,56,0,327,
+3,57,0,327,3,
+65,0,327,3,66,
+0,327,3,67,0,
+327,3,68,0,327,
+3,69,0,327,3,
+70,0,327,3,71,
+0,327,3,72,0,
+327,3,73,0,327,
+3,74,0,327,3,
+75,0,327,3,76,
+0,327,3,77,0,
+327,3,78,0,327,
+3,79,0,327,3,
+80,0,327,3,81,
+0,327,3,82,0,
+327,3,83,0,327,
+3,84,0,327,3,
+85,0,327,3,86,
+0,327,3,87,0,
+327,3,88,0,327,
+3,89,0,327,3,
+90,0,327,3,95,
+0,327,3,97,0,
+327,3,98,0,327,
+3,99,0,327,3,
+100,0,327,3,101,
+0,327,3,102,0,
+327,3,103,0,327,
+3,104,0,327,3,
+105,0,1311,12,1,
+20431,1312,5,63,3,
+109,0,327,3,110,
+0,327,3,111,0,
+327,3,112,0,327,
+3,113,0,327,3,
+114,0,327,3,115,
+0,327,3,116,0,
+327,3,117,0,327,
+3,118,0,327,3,
+119,0,327,3,120,
+0,327,3,121,0,
+327,3,122,0,327,
+3,48,0,327,3,
+49,0,327,3,50,
+0,327,3,51,0,
+327,3,52,0,327,
+3,53,0,327,3,
+54,0,327,3,55,
+0,327,3,56,0,
+327,3,57,0,327,
+3,65,0,327,3,
+66,0,327,3,67,
+0,327,3,68,0,
+327,3,69,0,327,
+3,70,0,327,3,
+71,0,327,3,72,
+0,327,3,73,0,
+327,3,74,0,327,
+3,75,0,327,3,
+76,0,327,3,77,
+0,327,3,78,0,
+327,3,79,0,327,
+3,80,0,327,3,
+81,0,327,3,82,
+0,327,3,83,0,
+327,3,84,0,327,
+3,85,0,327,3,
+86,0,327,3,87,
+0,327,3,88,0,
+327,3,89,0,327,
+3,90,0,327,3,
+95,0,327,3,97,
+0,327,3,98,0,
+327,3,99,0,327,
+3,100,0,327,3,
+101,0,327,3,102,
+0,327,3,103,0,
+327,3,104,0,327,
+3,105,0,327,3,
+106,0,327,3,107,
+0,327,3,108,0,
+1313,12,1,20485,1314,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+1315,12,1,20532,1316,
+5,63,3,109,0,
+327,3,110,0,327,
+3,111,0,327,3,
+112,0,327,3,113,
+0,327,3,114,0,
+327,3,115,0,327,
+3,116,0,327,3,
+117,0,327,3,118,
+0,327,3,119,0,
+327,3,120,0,327,
+3,121,0,327,3,
+122,0,327,3,48,
+0,327,3,49,0,
+327,3,50,0,327,
+3,51,0,327,3,
+52,0,327,3,53,
+0,327,3,54,0,
+327,3,55,0,327,
+3,56,0,327,3,
+57,0,327,3,65,
+0,327,3,66,0,
+327,3,67,0,327,
+3,68,0,327,3,
+69,0,327,3,70,
+0,327,3,71,0,
+327,3,72,0,327,
+3,73,0,327,3,
+74,0,327,3,75,
+0,327,3,76,0,
+327,3,77,0,327,
+3,78,0,327,3,
+79,0,327,3,80,
+0,327,3,81,0,
+327,3,82,0,327,
+3,83,0,327,3,
+84,0,327,3,85,
+0,327,3,86,0,
+327,3,87,0,327,
+3,88,0,327,3,
+89,0,327,3,90,
+0,327,3,95,0,
+327,3,97,0,327,
+3,98,0,327,3,
+99,0,327,3,100,
+0,327,3,101,0,
+327,3,102,0,327,
+3,103,0,327,3,
+104,0,327,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1317,
+11,1,229,0,1318,
+4,10,87,0,72,
+0,73,0,76,0,
+69,0,1,-1,3,
+102,0,327,3,103,
+0,327,3,104,0,
+327,3,105,0,327,
+3,106,0,327,3,
+107,0,327,3,108,
+0,327,1319,11,1,
+829,0,330,1,-1,
+1320,11,1,829,0,
+330,1,-1,3,106,
+0,327,3,107,0,
+327,3,108,0,327,
+1321,11,1,829,0,
+330,1,-1,3,105,
+0,327,3,106,0,
+327,3,107,0,327,
+3,108,0,327,1322,
+11,1,829,0,330,
+1,-1,3,120,0,
+325,3,121,0,325,
+3,122,0,325,3,
+123,0,1323,12,1,
+40301,1324,5,0,1325,
+11,1,51,0,1326,
+4,20,76,0,69,
+0,70,0,84,0,
+95,0,66,0,82,
+0,65,0,67,0,
+69,0,1,-1,3,
+124,0,1327,12,1,
+43084,1328,5,1,3,
+124,0,1329,12,1,
+43196,1330,5,0,1331,
+11,1,191,0,1332,
+4,26,83,0,84,
+0,82,0,79,0,
+75,0,69,0,95,
+0,83,0,84,0,
+82,0,79,0,75,
+0,69,0,1,-1,
+1333,11,1,165,0,
+1334,4,12,83,0,
+84,0,82,0,79,
+0,75,0,69,0,
+1,-1,3,125,0,
+1335,12,1,40666,1336,
+5,0,1337,11,1,
+56,0,1338,4,22,
+82,0,73,0,71,
+0,72,0,84,0,
+95,0,66,0,82,
+0,65,0,67,0,
+69,0,1,-1,3,
+126,0,1339,12,1,
+43325,1340,5,0,1341,
+11,1,175,0,1342,
+4,10,84,0,73,
+0,76,0,68,0,
+69,0,1,-1,1343,
+11,1,882,0,244,
+1,-1,1344,4,12,
+83,0,84,0,82,
+0,73,0,78,0,
+71,0,1345,12,1,
+44893,1346,5,119,3,
+1,0,1347,12,1,
+44894,1348,5,0,1349,
+11,1,956,0,165,
+1,-1,3,9,0,
+1347,3,10,0,1350,
+12,1,45095,1351,5,
+0,1352,11,1,962,
+0,165,1,-1,3,
+13,0,1347,3,0,
+3,1347,3,96,33,
+1347,3,32,0,1347,
+3,33,0,1347,3,
+34,0,1353,12,1,
+46442,1354,5,0,1355,
+11,1,1064,0,165,
+1,-1,3,35,0,
+1347,3,36,0,1347,
+3,37,0,1347,3,
+38,0,1347,3,40,
+0,1347,3,41,0,
+1347,3,42,0,1347,
+3,43,0,1347,3,
+44,0,1347,3,45,
+0,1347,3,46,0,
+1347,3,47,0,1347,
+3,3,9,1347,3,
+49,0,1347,3,50,
+0,1347,3,48,0,
+1347,3,52,0,1347,
+3,53,0,1347,3,
+51,0,1347,3,55,
+0,1347,3,56,0,
+1347,3,54,0,1347,
+3,59,0,1347,3,
+57,0,1347,3,61,
+0,1347,3,62,0,
+1347,3,60,0,1347,
+3,64,0,1347,3,
+65,0,1347,3,66,
+0,1347,3,67,0,
+1347,3,68,0,1347,
+3,69,0,1347,3,
+70,0,1347,3,71,
+0,1347,3,72,0,
+1347,3,73,0,1347,
+3,74,0,1347,3,
+75,0,1347,3,76,
+0,1347,3,77,0,
+1347,3,78,0,1347,
+3,79,0,1347,3,
+80,0,1347,3,81,
+0,1347,3,82,0,
+1347,3,83,0,1347,
+3,84,0,1347,3,
+85,0,1347,3,86,
+0,1347,3,87,0,
+1347,3,88,0,1347,
+3,89,0,1347,3,
+90,0,1347,3,91,
+0,1347,3,92,0,
+1356,12,1,45238,1357,
+5,8,3,110,0,
+1358,12,1,45267,1359,
+5,0,1360,11,1,
+967,0,165,1,-1,
+3,10,0,1361,12,
+1,45796,1362,5,5,
+3,10,0,1361,3,
+13,0,1363,12,1,
+45633,1364,5,5,3,
+10,0,1361,3,13,
+0,1363,3,92,0,
+1365,12,1,45901,1366,
+5,0,1367,11,1,
+1020,0,165,1,-1,
+3,9,0,1368,12,
+1,45714,1369,5,5,
+3,10,0,1361,3,
+13,0,1363,3,92,
+0,1365,3,9,0,
+1368,3,32,0,1370,
+12,1,45553,1371,5,
+5,3,10,0,1361,
+3,13,0,1363,3,
+92,0,1365,3,9,
+0,1368,3,32,0,
+1370,0,165,1,-1,
+0,165,1,-1,3,
+32,0,1370,0,165,
+1,-1,3,92,0,
+1365,3,9,0,1368,
+3,32,0,1370,0,
+165,1,-1,3,13,
+0,1363,3,92,0,
+1372,12,1,46183,1373,
+5,0,1374,11,1,
+1003,0,165,1,-1,
+3,116,0,1375,12,
+1,45393,1376,5,0,
+1377,11,1,979,0,
+165,1,-1,3,34,
+0,1378,12,1,46307,
+1379,5,0,1380,11,
+1,991,0,165,1,
+-1,3,9,0,1368,
+3,32,0,1370,1381,
+11,1,1015,0,165,
+1,-1,3,93,0,
+1347,3,94,0,1347,
+3,95,0,1347,3,
+96,0,1347,3,97,
+0,1347,3,98,0,
+1347,3,99,0,1347,
+3,100,0,1347,3,
+101,0,1347,3,102,
+0,1347,3,103,0,
+1347,3,104,0,1347,
+3,105,0,1347,3,
+106,0,1347,3,107,
+0,1347,3,108,0,
+1347,3,109,0,1347,
+3,110,0,1347,3,
+111,0,1347,3,112,
+0,1347,3,113,0,
+1347,3,114,0,1347,
+3,115,0,1347,3,
+116,0,1347,3,117,
+0,1347,3,118,0,
+1347,3,119,0,1347,
+3,120,0,1347,3,
+121,0,1347,3,122,
+0,1347,3,123,0,
+1347,3,124,0,1347,
+3,125,0,1347,3,
+96,6,1347,3,126,
+0,1347,3,58,15,
+1347,3,59,15,1347,
+3,136,4,1347,3,
+160,0,1347,3,15,
+7,1347,3,170,0,
+1347,3,171,0,1347,
+3,172,0,1347,3,
+173,0,1347,3,178,
+0,1347,3,176,2,
+1347,3,187,0,1347,
+3,187,1,1347,3,
+192,0,1347,3,41,
+32,1347,3,197,1,
+1347,3,0,224,1347,
+3,40,32,1347,3,
+63,32,1347,0,165,
+1,-1,1382,5,92,
+266,1383,10,266,1,
+19,567,1384,10,567,
+1,47,259,1385,10,
+259,1,92,1150,1386,
+10,1150,1,50,1019,
+1387,10,1019,1,80,
+1169,1388,10,1169,1,
+53,173,1389,10,173,
+1,37,596,1390,10,
+596,1,43,678,1391,
+10,678,1,51,607,
+1392,10,607,1,46,
+196,1393,10,196,1,
+16,200,1394,10,200,
+1,17,650,1395,10,
+650,1,68,879,1396,
+10,879,1,75,355,
+1397,10,355,1,35,
+208,1398,10,208,1,
+20,214,1399,10,214,
+1,6,184,1400,10,
+184,1,22,284,1401,
+10,284,1,21,244,
+1402,10,244,1,94,
+1270,1403,10,1270,1,
+88,475,1404,10,475,
+1,64,698,1405,10,
+698,1,49,351,1406,
+10,351,1,28,300,
+1407,10,300,1,25,
+687,1408,10,687,1,
+42,770,1409,10,770,
+1,69,1209,1410,10,
+1209,1,48,318,1411,
+10,318,1,41,828,
+1412,10,828,1,57,
+218,1413,10,218,1,
+4,324,1414,10,324,
+1,23,487,1415,10,
+487,1,63,1224,1416,
+10,1224,1,84,306,
+1417,10,306,1,29,
+230,1418,10,230,1,
+5,298,1419,10,298,
+1,31,618,1420,10,
+618,1,52,867,1421,
+10,867,1,76,1092,
+1422,10,1092,1,83,
+995,1423,10,995,1,
+81,973,1424,10,973,
+1,77,171,1425,10,
+171,1,30,264,1426,
+10,264,1,7,825,
+1427,10,825,1,73,
+182,1428,10,182,1,
+10,347,1429,10,347,
+1,27,255,1430,10,
+255,1,93,224,1431,
+10,224,1,14,270,
+1432,10,270,1,24,
+709,1433,10,709,1,
+54,282,1434,10,282,
+1,9,1203,1435,10,
+1203,1,86,492,1436,
+10,492,1,62,1437,
+4,30,83,0,84,
+0,82,0,73,0,
+78,0,71,0,95,
+0,67,0,79,0,
+78,0,83,0,84,
+0,65,0,78,0,
+84,0,1438,10,1437,
+1,3,1318,1439,10,
+1318,1,45,330,1440,
+10,330,1,91,545,
+1441,10,545,1,66,
+1046,1442,10,1046,1,
+56,396,1443,10,396,
+1,58,1326,1444,10,
+1326,1,12,525,1445,
+10,525,1,44,294,
+1446,10,294,1,40,
+1132,1447,10,1132,1,
+82,585,1448,10,585,
+1,67,924,1449,10,
+924,1,78,1342,1450,
+10,1342,1,36,1334,
+1451,10,1334,1,34,
+765,1452,10,765,1,
+70,1283,1453,10,1283,
+1,87,843,1454,10,
+843,1,74,320,1455,
+10,320,1,26,419,
+1456,10,419,1,59,
+192,1457,10,192,1,
+33,288,1458,10,288,
+1,11,190,1459,10,
+190,1,38,513,1460,
+10,513,1,61,806,
+1461,10,806,1,72,
+1265,1462,10,1265,1,
+90,308,1463,10,308,
+1,15,947,1464,10,
+947,1,79,1332,1465,
+10,1332,1,39,314,
+1466,10,314,1,32,
+1253,1467,10,1253,1,
+89,369,1468,10,369,
+1,60,1301,1469,10,
+1301,1,55,1338,1470,
+10,1338,1,13,1192,
+1471,10,1192,1,85,
+220,1472,10,220,1,
+18,206,1473,10,206,
+1,8,753,1474,10,
+753,1,71,443,1475,
+10,443,1,65,1476,
+5,0,0};
+ new Tfactory(this,"MINUS",new TCreator(MINUS_factory));
+ new Tfactory(this,"DEFAULT_STATE",new TCreator(DEFAULT_STATE_factory));
+ new Tfactory(this,"INTEGER_CONSTANT",new TCreator(INTEGER_CONSTANT_factory));
+ new Tfactory(this,"RETURN",new TCreator(RETURN_factory));
+ new Tfactory(this,"OBJECT_REZ_EVENT",new TCreator(OBJECT_REZ_EVENT_factory));
+ new Tfactory(this,"STRING_TYPE",new TCreator(STRING_TYPE_factory));
+ new Tfactory(this,"EXCLAMATION",new TCreator(EXCLAMATION_factory));
+ new Tfactory(this,"ELSE",new TCreator(ELSE_factory));
+ new Tfactory(this,"INTEGER_TYPE",new TCreator(INTEGER_TYPE_factory));
+ new Tfactory(this,"FOR",new TCreator(FOR_factory));
+ new Tfactory(this,"LEFT_PAREN",new TCreator(LEFT_PAREN_factory));
+ new Tfactory(this,"RIGHT_PAREN",new TCreator(RIGHT_PAREN_factory));
+ new Tfactory(this,"HTTP_RESPONSE_EVENT",new TCreator(HTTP_RESPONSE_EVENT_factory));
+ new Tfactory(this,"MOVING_END_EVENT",new TCreator(MOVING_END_EVENT_factory));
+ new Tfactory(this,"CARET",new TCreator(CARET_factory));
+ new Tfactory(this,"STAR",new TCreator(STAR_factory));
+ new Tfactory(this,"PLUS_EQUALS",new TCreator(PLUS_EQUALS_factory));
+ new Tfactory(this,"PERCENT",new TCreator(PERCENT_factory));
+ new Tfactory(this,"SLASH",new TCreator(SLASH_factory));
+ new Tfactory(this,"FLOAT_CONSTANT",new TCreator(FLOAT_CONSTANT_factory));
+ new Tfactory(this,"TOUCH_EVENT",new TCreator(TOUCH_EVENT_factory));
+ new Tfactory(this,"COLLISION_START_EVENT",new TCreator(COLLISION_START_EVENT_factory));
+ new Tfactory(this,"JUMP",new TCreator(JUMP_factory));
+ new Tfactory(this,"RIGHT_BRACKET",new TCreator(RIGHT_BRACKET_factory));
+ new Tfactory(this,"LEFT_ANGLE",new TCreator(LEFT_ANGLE_factory));
+ new Tfactory(this,"IF",new TCreator(IF_factory));
+ new Tfactory(this,"LAND_COLLISION_EVENT",new TCreator(LAND_COLLISION_EVENT_factory));
+ new Tfactory(this,"STATE",new TCreator(STATE_factory));
+ new Tfactory(this,"RIGHT_SHIFT",new TCreator(RIGHT_SHIFT_factory));
+ new Tfactory(this,"LIST_TYPE",new TCreator(LIST_TYPE_factory));
+ new Tfactory(this,"INCREMENT",new TCreator(INCREMENT_factory));
+ new Tfactory(this,"AT",new TCreator(AT_factory));
+ new Tfactory(this,"COLLISION_END_EVENT",new TCreator(COLLISION_END_EVENT_factory));
+ new Tfactory(this,"SENSOR_EVENT",new TCreator(SENSOR_EVENT_factory));
+ new Tfactory(this,"EQUALS_EQUALS",new TCreator(EQUALS_EQUALS_factory));
+ new Tfactory(this,"DECREMENT",new TCreator(DECREMENT_factory));
+ new Tfactory(this,"LESS_EQUALS",new TCreator(LESS_EQUALS_factory));
+ new Tfactory(this,"FLOAT_TYPE",new TCreator(FLOAT_TYPE_factory));
+ new Tfactory(this,"MOVING_START_EVENT",new TCreator(MOVING_START_EVENT_factory));
+ new Tfactory(this,"RUN_TIME_PERMISSIONS_EVENT",new TCreator(RUN_TIME_PERMISSIONS_EVENT_factory));
+ new Tfactory(this,"ON_REZ_EVENT",new TCreator(ON_REZ_EVENT_factory));
+ new Tfactory(this,"NO_SENSOR_EVENT",new TCreator(NO_SENSOR_EVENT_factory));
+ new Tfactory(this,"EXCLAMATION_EQUALS",new TCreator(EXCLAMATION_EQUALS_factory));
+ new Tfactory(this,"MINUS_EQUALS",new TCreator(MINUS_EQUALS_factory));
+ new Tfactory(this,"LISTEN_EVENT",new TCreator(LISTEN_EVENT_factory));
+ new Tfactory(this,"PERCENT_EQUALS",new TCreator(PERCENT_EQUALS_factory));
+ new Tfactory(this,"LEFT_BRACKET",new TCreator(LEFT_BRACKET_factory));
+ new Tfactory(this,"HEX_INTEGER_CONSTANT",new TCreator(HEX_INTEGER_CONSTANT_factory));
+ new Tfactory(this,"COMMA",new TCreator(COMMA_factory));
+ new Tfactory(this,"PERIOD",new TCreator(PERIOD_factory));
+ new Tfactory(this,"KEY_TYPE",new TCreator(KEY_TYPE_factory));
+ new Tfactory(this,"SLASH_EQUALS",new TCreator(SLASH_EQUALS_factory));
+ new Tfactory(this,"STATE_EXIT_EVENT",new TCreator(STATE_EXIT_EVENT_factory));
+ new Tfactory(this,"COLLISION_EVENT",new TCreator(COLLISION_EVENT_factory));
+ new Tfactory(this,"STRING_CONSTANT",new TCreator(STRING_CONSTANT_factory));
+ new Tfactory(this,"WHILE",new TCreator(WHILE_factory));
+ new Tfactory(this,"IDENT",new TCreator(IDENT_factory));
+ new Tfactory(this,"DATASERVER_EVENT",new TCreator(DATASERVER_EVENT_factory));
+ new Tfactory(this,"ROTATION_TYPE",new TCreator(ROTATION_TYPE_factory));
+ new Tfactory(this,"AT_ROT_TARGET_EVENT",new TCreator(AT_ROT_TARGET_EVENT_factory));
+ new Tfactory(this,"LEFT_BRACE",new TCreator(LEFT_BRACE_factory));
+ new Tfactory(this,"DO",new TCreator(DO_factory));
+ new Tfactory(this,"LEFT_SHIFT",new TCreator(LEFT_SHIFT_factory));
+ new Tfactory(this,"REMOTE_DATA_EVENT",new TCreator(REMOTE_DATA_EVENT_factory));
+ new Tfactory(this,"EMAIL_EVENT",new TCreator(EMAIL_EVENT_factory));
+ new Tfactory(this,"NOT_AT_ROT_TARGET_EVENT",new TCreator(NOT_AT_ROT_TARGET_EVENT_factory));
+ new Tfactory(this,"TILDE",new TCreator(TILDE_factory));
+ new Tfactory(this,"STROKE",new TCreator(STROKE_factory));
+ new Tfactory(this,"LAND_COLLISION_END_EVENT",new TCreator(LAND_COLLISION_END_EVENT_factory));
+ new Tfactory(this,"TIMER_EVENT",new TCreator(TIMER_EVENT_factory));
+ new Tfactory(this,"MONEY_EVENT",new TCreator(MONEY_EVENT_factory));
+ new Tfactory(this,"RIGHT_ANGLE",new TCreator(RIGHT_ANGLE_factory));
+ new Tfactory(this,"AT_TARGET_EVENT",new TCreator(AT_TARGET_EVENT_factory));
+ new Tfactory(this,"AMP",new TCreator(AMP_factory));
+ new Tfactory(this,"SEMICOLON",new TCreator(SEMICOLON_factory));
+ new Tfactory(this,"AMP_AMP",new TCreator(AMP_AMP_factory));
+ new Tfactory(this,"CHANGED_EVENT",new TCreator(CHANGED_EVENT_factory));
+ new Tfactory(this,"LINK_MESSAGE_EVENT",new TCreator(LINK_MESSAGE_EVENT_factory));
+ new Tfactory(this,"TOUCH_END_EVENT",new TCreator(TOUCH_END_EVENT_factory));
+ new Tfactory(this,"EQUALS",new TCreator(EQUALS_factory));
+ new Tfactory(this,"NOT_AT_TARGET_EVENT",new TCreator(NOT_AT_TARGET_EVENT_factory));
+ new Tfactory(this,"STROKE_STROKE",new TCreator(STROKE_STROKE_factory));
+ new Tfactory(this,"GREATER_EQUALS",new TCreator(GREATER_EQUALS_factory));
+ new Tfactory(this,"TOUCH_START_EVENT",new TCreator(TOUCH_START_EVENT_factory));
+ new Tfactory(this,"ATTACH_EVENT",new TCreator(ATTACH_EVENT_factory));
+ new Tfactory(this,"VECTOR_TYPE",new TCreator(VECTOR_TYPE_factory));
+ new Tfactory(this,"RIGHT_BRACE",new TCreator(RIGHT_BRACE_factory));
+ new Tfactory(this,"STATE_ENTRY_EVENT",new TCreator(STATE_ENTRY_EVENT_factory));
+ new Tfactory(this,"PLUS",new TCreator(PLUS_factory));
+ new Tfactory(this,"STAR_EQUALS",new TCreator(STAR_EQUALS_factory));
+ new Tfactory(this,"LAND_COLLISION_START_EVENT",new TCreator(LAND_COLLISION_START_EVENT_factory));
+ new Tfactory(this,"CONTROL_EVENT",new TCreator(CONTROL_EVENT_factory));
+}
+public static object MINUS_factory(Lexer yyl) { return new MINUS(yyl);}
+public static object DEFAULT_STATE_factory(Lexer yyl) { return new DEFAULT_STATE(yyl);}
+public static object INTEGER_CONSTANT_factory(Lexer yyl) { return new INTEGER_CONSTANT(yyl);}
+public static object RETURN_factory(Lexer yyl) { return new RETURN(yyl);}
+public static object OBJECT_REZ_EVENT_factory(Lexer yyl) { return new OBJECT_REZ_EVENT(yyl);}
+public static object STRING_TYPE_factory(Lexer yyl) { return new STRING_TYPE(yyl);}
+public static object EXCLAMATION_factory(Lexer yyl) { return new EXCLAMATION(yyl);}
+public static object ELSE_factory(Lexer yyl) { return new ELSE(yyl);}
+public static object INTEGER_TYPE_factory(Lexer yyl) { return new INTEGER_TYPE(yyl);}
+public static object FOR_factory(Lexer yyl) { return new FOR(yyl);}
+public static object LEFT_PAREN_factory(Lexer yyl) { return new LEFT_PAREN(yyl);}
+public static object RIGHT_PAREN_factory(Lexer yyl) { return new RIGHT_PAREN(yyl);}
+public static object HTTP_RESPONSE_EVENT_factory(Lexer yyl) { return new HTTP_RESPONSE_EVENT(yyl);}
+public static object MOVING_END_EVENT_factory(Lexer yyl) { return new MOVING_END_EVENT(yyl);}
+public static object CARET_factory(Lexer yyl) { return new CARET(yyl);}
+public static object STAR_factory(Lexer yyl) { return new STAR(yyl);}
+public static object PLUS_EQUALS_factory(Lexer yyl) { return new PLUS_EQUALS(yyl);}
+public static object PERCENT_factory(Lexer yyl) { return new PERCENT(yyl);}
+public static object SLASH_factory(Lexer yyl) { return new SLASH(yyl);}
+public static object FLOAT_CONSTANT_factory(Lexer yyl) { return new FLOAT_CONSTANT(yyl);}
+public static object TOUCH_EVENT_factory(Lexer yyl) { return new TOUCH_EVENT(yyl);}
+public static object COLLISION_START_EVENT_factory(Lexer yyl) { return new COLLISION_START_EVENT(yyl);}
+public static object JUMP_factory(Lexer yyl) { return new JUMP(yyl);}
+public static object RIGHT_BRACKET_factory(Lexer yyl) { return new RIGHT_BRACKET(yyl);}
+public static object LEFT_ANGLE_factory(Lexer yyl) { return new LEFT_ANGLE(yyl);}
+public static object IF_factory(Lexer yyl) { return new IF(yyl);}
+public static object LAND_COLLISION_EVENT_factory(Lexer yyl) { return new LAND_COLLISION_EVENT(yyl);}
+public static object STATE_factory(Lexer yyl) { return new STATE(yyl);}
+public static object RIGHT_SHIFT_factory(Lexer yyl) { return new RIGHT_SHIFT(yyl);}
+public static object LIST_TYPE_factory(Lexer yyl) { return new LIST_TYPE(yyl);}
+public static object INCREMENT_factory(Lexer yyl) { return new INCREMENT(yyl);}
+public static object AT_factory(Lexer yyl) { return new AT(yyl);}
+public static object COLLISION_END_EVENT_factory(Lexer yyl) { return new COLLISION_END_EVENT(yyl);}
+public static object SENSOR_EVENT_factory(Lexer yyl) { return new SENSOR_EVENT(yyl);}
+public static object EQUALS_EQUALS_factory(Lexer yyl) { return new EQUALS_EQUALS(yyl);}
+public static object DECREMENT_factory(Lexer yyl) { return new DECREMENT(yyl);}
+public static object LESS_EQUALS_factory(Lexer yyl) { return new LESS_EQUALS(yyl);}
+public static object FLOAT_TYPE_factory(Lexer yyl) { return new FLOAT_TYPE(yyl);}
+public static object MOVING_START_EVENT_factory(Lexer yyl) { return new MOVING_START_EVENT(yyl);}
+public static object RUN_TIME_PERMISSIONS_EVENT_factory(Lexer yyl) { return new RUN_TIME_PERMISSIONS_EVENT(yyl);}
+public static object ON_REZ_EVENT_factory(Lexer yyl) { return new ON_REZ_EVENT(yyl);}
+public static object NO_SENSOR_EVENT_factory(Lexer yyl) { return new NO_SENSOR_EVENT(yyl);}
+public static object EXCLAMATION_EQUALS_factory(Lexer yyl) { return new EXCLAMATION_EQUALS(yyl);}
+public static object MINUS_EQUALS_factory(Lexer yyl) { return new MINUS_EQUALS(yyl);}
+public static object LISTEN_EVENT_factory(Lexer yyl) { return new LISTEN_EVENT(yyl);}
+public static object PERCENT_EQUALS_factory(Lexer yyl) { return new PERCENT_EQUALS(yyl);}
+public static object LEFT_BRACKET_factory(Lexer yyl) { return new LEFT_BRACKET(yyl);}
+public static object HEX_INTEGER_CONSTANT_factory(Lexer yyl) { return new HEX_INTEGER_CONSTANT(yyl);}
+public static object COMMA_factory(Lexer yyl) { return new COMMA(yyl);}
+public static object PERIOD_factory(Lexer yyl) { return new PERIOD(yyl);}
+public static object KEY_TYPE_factory(Lexer yyl) { return new KEY_TYPE(yyl);}
+public static object SLASH_EQUALS_factory(Lexer yyl) { return new SLASH_EQUALS(yyl);}
+public static object STATE_EXIT_EVENT_factory(Lexer yyl) { return new STATE_EXIT_EVENT(yyl);}
+public static object COLLISION_EVENT_factory(Lexer yyl) { return new COLLISION_EVENT(yyl);}
+public static object STRING_CONSTANT_factory(Lexer yyl) { return new STRING_CONSTANT(yyl);}
+public static object WHILE_factory(Lexer yyl) { return new WHILE(yyl);}
+public static object IDENT_factory(Lexer yyl) { return new IDENT(yyl);}
+public static object DATASERVER_EVENT_factory(Lexer yyl) { return new DATASERVER_EVENT(yyl);}
+public static object ROTATION_TYPE_factory(Lexer yyl) { return new ROTATION_TYPE(yyl);}
+public static object AT_ROT_TARGET_EVENT_factory(Lexer yyl) { return new AT_ROT_TARGET_EVENT(yyl);}
+public static object LEFT_BRACE_factory(Lexer yyl) { return new LEFT_BRACE(yyl);}
+public static object DO_factory(Lexer yyl) { return new DO(yyl);}
+public static object LEFT_SHIFT_factory(Lexer yyl) { return new LEFT_SHIFT(yyl);}
+public static object REMOTE_DATA_EVENT_factory(Lexer yyl) { return new REMOTE_DATA_EVENT(yyl);}
+public static object EMAIL_EVENT_factory(Lexer yyl) { return new EMAIL_EVENT(yyl);}
+public static object NOT_AT_ROT_TARGET_EVENT_factory(Lexer yyl) { return new NOT_AT_ROT_TARGET_EVENT(yyl);}
+public static object TILDE_factory(Lexer yyl) { return new TILDE(yyl);}
+public static object STROKE_factory(Lexer yyl) { return new STROKE(yyl);}
+public static object LAND_COLLISION_END_EVENT_factory(Lexer yyl) { return new LAND_COLLISION_END_EVENT(yyl);}
+public static object TIMER_EVENT_factory(Lexer yyl) { return new TIMER_EVENT(yyl);}
+public static object MONEY_EVENT_factory(Lexer yyl) { return new MONEY_EVENT(yyl);}
+public static object RIGHT_ANGLE_factory(Lexer yyl) { return new RIGHT_ANGLE(yyl);}
+public static object AT_TARGET_EVENT_factory(Lexer yyl) { return new AT_TARGET_EVENT(yyl);}
+public static object AMP_factory(Lexer yyl) { return new AMP(yyl);}
+public static object SEMICOLON_factory(Lexer yyl) { return new SEMICOLON(yyl);}
+public static object AMP_AMP_factory(Lexer yyl) { return new AMP_AMP(yyl);}
+public static object CHANGED_EVENT_factory(Lexer yyl) { return new CHANGED_EVENT(yyl);}
+public static object LINK_MESSAGE_EVENT_factory(Lexer yyl) { return new LINK_MESSAGE_EVENT(yyl);}
+public static object TOUCH_END_EVENT_factory(Lexer yyl) { return new TOUCH_END_EVENT(yyl);}
+public static object EQUALS_factory(Lexer yyl) { return new EQUALS(yyl);}
+public static object NOT_AT_TARGET_EVENT_factory(Lexer yyl) { return new NOT_AT_TARGET_EVENT(yyl);}
+public static object STROKE_STROKE_factory(Lexer yyl) { return new STROKE_STROKE(yyl);}
+public static object GREATER_EQUALS_factory(Lexer yyl) { return new GREATER_EQUALS(yyl);}
+public static object TOUCH_START_EVENT_factory(Lexer yyl) { return new TOUCH_START_EVENT(yyl);}
+public static object ATTACH_EVENT_factory(Lexer yyl) { return new ATTACH_EVENT(yyl);}
+public static object VECTOR_TYPE_factory(Lexer yyl) { return new VECTOR_TYPE(yyl);}
+public static object RIGHT_BRACE_factory(Lexer yyl) { return new RIGHT_BRACE(yyl);}
+public static object STATE_ENTRY_EVENT_factory(Lexer yyl) { return new STATE_ENTRY_EVENT(yyl);}
+public static object PLUS_factory(Lexer yyl) { return new PLUS(yyl);}
+public static object STAR_EQUALS_factory(Lexer yyl) { return new STAR_EQUALS(yyl);}
+public static object LAND_COLLISION_START_EVENT_factory(Lexer yyl) { return new LAND_COLLISION_START_EVENT(yyl);}
+public static object CONTROL_EVENT_factory(Lexer yyl) { return new CONTROL_EVENT(yyl);}
+public override TOKEN OldAction(Lexer yym,ref string yytext,int action, ref bool reject) {
+ switch(action) {
+ case -1: break;
+ case 1015: { ((LSLTokens)yym).str += '\\'; }
+ break;
+ case 991: { ((LSLTokens)yym).str += "\\\""; }
+ break;
+ case 1020: { }
+ break;
+ case 1064: { yym.yy_begin("YYINITIAL"); ((LSLTokens)yym).yytext = ((LSLTokens)yym).str; ((LSLTokens)yym).str = String.Empty; return new STRING_CONSTANT(yym); }
+ case 1069: ;
+ break;
+ case 1073: ;
+ break;
+ case 1003: { ((LSLTokens)yym).str += "\\\\"; }
+ break;
+ case 951: { yym.yy_begin("STRING"); ((LSLTokens)yym).str = "";}
+ break;
+ case 967: { ((LSLTokens)yym).str += "\\n"; }
+ break;
+ case 979: { ((LSLTokens)yym).str += " "; }
+ break;
+ case 956: { ((LSLTokens)yym).str += yytext; }
+ break;
+ case 962: { ((LSLTokens)yym).str += "\\n"; }
+ break;
+ }
+ return null;
+}}
+public class LSLTokens:Lexer {
+public LSLTokens():base(new yyLSLTokens(new ErrorHandler(false))) {}
+public LSLTokens(ErrorHandler eh):base(new yyLSLTokens(eh)) {}
+public LSLTokens(YyLexer tks):base(tks){}
+
+ public string str;
+
+ }
+}
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs
new file mode 100644
index 0000000..17268f3
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs
@@ -0,0 +1,9803 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSim Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;using Tools;
+namespace OpenSim.Region.ScriptEngine.Shared.CodeTools {
+//%+LSLProgramRoot+95
+public class LSLProgramRoot : SYMBOL{
+ public LSLProgramRoot (Parser yyp, States s ):base(((LSLSyntax
+)yyp)){ while (0< s . kids . Count ) kids . Add ( s . kids . Pop ());
+}
+ public LSLProgramRoot (Parser yyp, GlobalDefinitions gd , States s ):base(((LSLSyntax
+)yyp)){ while (0< gd . kids . Count ) kids . Add ( gd . kids . Pop ());
+ while (0< s . kids . Count ) kids . Add ( s . kids . Pop ());
+}
+
+public override string yyname { get { return "LSLProgramRoot"; }}
+public override int yynum { get { return 95; }}
+public LSLProgramRoot(Parser yyp):base(yyp){}}
+//%+GlobalDefinitions+96
+public class GlobalDefinitions : SYMBOL{
+ public GlobalDefinitions (Parser yyp, GlobalVariableDeclaration gvd ):base(((LSLSyntax
+)yyp)){ kids . Add ( gvd );
+}
+ public GlobalDefinitions (Parser yyp, GlobalDefinitions gd , GlobalVariableDeclaration gvd ):base(((LSLSyntax
+)yyp)){ while (0< gd . kids . Count ) kids . Add ( gd . kids . Pop ());
+ kids . Add ( gvd );
+}
+ public GlobalDefinitions (Parser yyp, GlobalFunctionDefinition gfd ):base(((LSLSyntax
+)yyp)){ kids . Add ( gfd );
+}
+ public GlobalDefinitions (Parser yyp, GlobalDefinitions gd , GlobalFunctionDefinition gfd ):base(((LSLSyntax
+)yyp)){ while (0< gd . kids . Count ) kids . Add ( gd . kids . Pop ());
+ kids . Add ( gfd );
+}
+
+public override string yyname { get { return "GlobalDefinitions"; }}
+public override int yynum { get { return 96; }}
+public GlobalDefinitions(Parser yyp):base(yyp){}}
+//%+GlobalVariableDeclaration+97
+public class GlobalVariableDeclaration : SYMBOL{
+ public GlobalVariableDeclaration (Parser yyp, Declaration d ):base(((LSLSyntax
+)yyp)){ kids . Add ( d );
+}
+ public GlobalVariableDeclaration (Parser yyp, Assignment a ):base(((LSLSyntax
+)yyp)){ kids . Add ( a );
+}
+
+public override string yyname { get { return "GlobalVariableDeclaration"; }}
+public override int yynum { get { return 97; }}
+public GlobalVariableDeclaration(Parser yyp):base(yyp){}}
+//%+GlobalFunctionDefinition+98
+public class GlobalFunctionDefinition : SYMBOL{
+ private string m_returnType ;
+ private string m_name ;
+ public GlobalFunctionDefinition (Parser yyp, string returnType , string name , ArgumentDeclarationList adl , CompoundStatement cs ):base(((LSLSyntax
+)yyp)){ m_returnType = returnType ;
+ m_name = name ;
+ kids . Add ( adl );
+ kids . Add ( cs );
+}
+ public string ReturnType { get { return m_returnType ;
+}
+ set { m_returnType = value ;
+}
+}
+ public string Name { get { return m_name ;
+}
+}
+
+public override string yyname { get { return "GlobalFunctionDefinition"; }}
+public override int yynum { get { return 98; }}
+public GlobalFunctionDefinition(Parser yyp):base(yyp){}}
+//%+States+99
+public class States : SYMBOL{
+ public States (Parser yyp, State ds ):base(((LSLSyntax
+)yyp)){ kids . Add ( ds );
+}
+ public States (Parser yyp, States s , State us ):base(((LSLSyntax
+)yyp)){ while (0< s . kids . Count ) kids . Add ( s . kids . Pop ());
+ kids . Add ( us );
+}
+
+public override string yyname { get { return "States"; }}
+public override int yynum { get { return 99; }}
+public States(Parser yyp):base(yyp){}}
+//%+State+100
+public class State : SYMBOL{
+ private string m_name ;
+ public State (Parser yyp, string name , StateBody sb ):base(((LSLSyntax
+)yyp)){ m_name = name ;
+ while (0< sb . kids . Count ) kids . Add ( sb . kids . Pop ());
+}
+ public override string ToString (){ return "STATE<"+ m_name +">";
+}
+ public string Name { get { return m_name ;
+}
+}
+
+public override string yyname { get { return "State"; }}
+public override int yynum { get { return 100; }}
+public State(Parser yyp):base(yyp){}}
+//%+StateBody+101
+public class StateBody : SYMBOL{
+ public StateBody (Parser yyp, StateBody sb , StateEvent se ):base(((LSLSyntax
+)yyp)){ while (0< sb . kids . Count ) kids . Add ( sb . kids . Pop ());
+ kids . Add ( se );
+}
+ public StateBody (Parser yyp, StateEvent se ):base(((LSLSyntax
+)yyp)){ kids . Add ( se );
+}
+
+public override string yyname { get { return "StateBody"; }}
+public override int yynum { get { return 101; }}
+public StateBody(Parser yyp):base(yyp){}}
+//%+StateEvent+102
+public class StateEvent : SYMBOL{
+ private string m_name ;
+ public StateEvent (Parser yyp, string name , CompoundStatement cs ):base(((LSLSyntax
+)yyp)){ m_name = name ;
+ kids . Add ( cs );
+}
+ public StateEvent (Parser yyp, string name , ArgumentDeclarationList dal , CompoundStatement cs ):base(((LSLSyntax
+)yyp)){ m_name = name ;
+ if (0< dal . kids . Count ) kids . Add ( dal );
+ kids . Add ( cs );
+}
+ public override string ToString (){ return "EVENT<"+ m_name +">";
+}
+ public string Name { get { return m_name ;
+}
+}
+
+public override string yyname { get { return "StateEvent"; }}
+public override int yynum { get { return 102; }}
+public StateEvent(Parser yyp):base(yyp){}}
+//%+ArgumentDeclarationList+103
+public class ArgumentDeclarationList : SYMBOL{
+ public ArgumentDeclarationList (Parser yyp, Declaration d ):base(((LSLSyntax
+)yyp)){ kids . Add ( d );
+}
+ public ArgumentDeclarationList (Parser yyp, ArgumentDeclarationList adl , Declaration d ):base(((LSLSyntax
+)yyp)){ while (0< adl . kids . Count ) kids . Add ( adl . kids . Pop ());
+ kids . Add ( d );
+}
+
+public override string yyname { get { return "ArgumentDeclarationList"; }}
+public override int yynum { get { return 103; }}
+public ArgumentDeclarationList(Parser yyp):base(yyp){}}
+//%+Declaration+104
+public class Declaration : SYMBOL{
+ private string m_datatype ;
+ private string m_id ;
+ public Declaration (Parser yyp, string type , string id ):base(((LSLSyntax
+)yyp)){ m_datatype = type ;
+ m_id = id ;
+}
+ public override string ToString (){ return "Declaration<"+ m_datatype +":"+ m_id +">";
+}
+ public string Datatype { get { return m_datatype ;
+}
+ set { m_datatype = value ;
+}
+}
+ public string Id { get { return m_id ;
+}
+}
+
+public override string yyname { get { return "Declaration"; }}
+public override int yynum { get { return 104; }}
+public Declaration(Parser yyp):base(yyp){}}
+//%+Typename+105
+public class Typename : SYMBOL{
+ public string yytext ;
+ public Typename (Parser yyp, string text ):base(((LSLSyntax
+)yyp)){ yytext = text ;
+}
+
+public override string yyname { get { return "Typename"; }}
+public override int yynum { get { return 105; }}
+public Typename(Parser yyp):base(yyp){}}
+//%+Event+106
+public class Event : SYMBOL{
+ public string yytext ;
+ public Event (Parser yyp, string text ):base(((LSLSyntax
+)yyp)){ yytext = text ;
+}
+
+public override string yyname { get { return "Event"; }}
+public override int yynum { get { return 106; }}
+public Event(Parser yyp):base(yyp){}}
+//%+CompoundStatement+107
+public class CompoundStatement : SYMBOL{
+ public CompoundStatement (Parser yyp):base(((LSLSyntax
+)yyp)){}
+ public CompoundStatement (Parser yyp, StatementList sl ):base(((LSLSyntax
+)yyp)){ while (0< sl . kids . Count ) kids . Add ( sl . kids . Pop ());
+}
+
+public override string yyname { get { return "CompoundStatement"; }}
+public override int yynum { get { return 107; }}
+}
+//%+StatementList+108
+public class StatementList : SYMBOL{
+ private void AddStatement ( Statement s ){ if ( s . kids . Top is IfStatement || s . kids . Top is WhileStatement || s . kids . Top is DoWhileStatement || s . kids . Top is ForLoop ) kids . Add ( s . kids . Pop ());
+ else kids . Add ( s );
+}
+ public StatementList (Parser yyp, Statement s ):base(((LSLSyntax
+)yyp)){ AddStatement ( s );
+}
+ public StatementList (Parser yyp, StatementList sl , Statement s ):base(((LSLSyntax
+)yyp)){ while (0< sl . kids . Count ) kids . Add ( sl . kids . Pop ());
+ AddStatement ( s );
+}
+
+public override string yyname { get { return "StatementList"; }}
+public override int yynum { get { return 108; }}
+public StatementList(Parser yyp):base(yyp){}}
+//%+Statement+109
+public class Statement : SYMBOL{
+ public Statement (Parser yyp, Declaration d ):base(((LSLSyntax
+)yyp)){ kids . Add ( d );
+}
+ public Statement (Parser yyp, CompoundStatement cs ):base(((LSLSyntax
+)yyp)){ kids . Add ( cs );
+}
+ public Statement (Parser yyp, FunctionCall fc ):base(((LSLSyntax
+)yyp)){ kids . Add ( fc );
+}
+ public Statement (Parser yyp, Assignment a ):base(((LSLSyntax
+)yyp)){ kids . Add ( a );
+}
+ public Statement (Parser yyp, Expression e ):base(((LSLSyntax
+)yyp)){ kids . Add ( e );
+}
+ public Statement (Parser yyp, ReturnStatement rs ):base(((LSLSyntax
+)yyp)){ kids . Add ( rs );
+}
+ public Statement (Parser yyp, StateChange sc ):base(((LSLSyntax
+)yyp)){ kids . Add ( sc );
+}
+ public Statement (Parser yyp, IfStatement ifs ):base(((LSLSyntax
+)yyp)){ kids . Add ( ifs );
+}
+ public Statement (Parser yyp, WhileStatement ifs ):base(((LSLSyntax
+)yyp)){ kids . Add ( ifs );
+}
+ public Statement (Parser yyp, DoWhileStatement ifs ):base(((LSLSyntax
+)yyp)){ kids . Add ( ifs );
+}
+ public Statement (Parser yyp, ForLoop fl ):base(((LSLSyntax
+)yyp)){ kids . Add ( fl );
+}
+ public Statement (Parser yyp, JumpLabel jl ):base(((LSLSyntax
+)yyp)){ kids . Add ( jl );
+}
+ public Statement (Parser yyp, JumpStatement js ):base(((LSLSyntax
+)yyp)){ kids . Add ( js );
+}
+
+public override string yyname { get { return "Statement"; }}
+public override int yynum { get { return 109; }}
+public Statement(Parser yyp):base(yyp){}}
+//%+Assignment+110
+public class Assignment : SYMBOL{
+ private string m_assignmentType ;
+ public Assignment (Parser yyp, SYMBOL lhs , SYMBOL rhs , string assignmentType ):base(((LSLSyntax
+)yyp)){ m_assignmentType = assignmentType ;
+ kids . Add ( lhs );
+ if ( rhs is ConstantExpression ) while (0< rhs . kids . Count ) kids . Add ( rhs . kids . Pop ());
+ else kids . Add ( rhs );
+}
+ public string AssignmentType { get { return m_assignmentType ;
+}
+}
+
+public override string yyname { get { return "Assignment"; }}
+public override int yynum { get { return 110; }}
+public Assignment(Parser yyp):base(yyp){}}
+//%+ReturnStatement+111
+public class ReturnStatement : SYMBOL{
+ public ReturnStatement (Parser yyp):base(((LSLSyntax
+)yyp)){}
+ public ReturnStatement (Parser yyp, Expression e ):base(((LSLSyntax
+)yyp)){ if ( e is ConstantExpression ) while (0< e . kids . Count ) kids . Add ( e . kids . Pop ());
+ else kids . Add ( e );
+}
+
+public override string yyname { get { return "ReturnStatement"; }}
+public override int yynum { get { return 111; }}
+}
+//%+JumpLabel+112
+public class JumpLabel : SYMBOL{
+ private string m_labelName ;
+ public JumpLabel (Parser yyp, string labelName ):base(((LSLSyntax
+)yyp)){ m_labelName = labelName ;
+}
+ public string LabelName { get { return m_labelName ;
+}
+}
+ public override string ToString (){ return base . ToString ()+"<"+ m_labelName +">";
+}
+
+public override string yyname { get { return "JumpLabel"; }}
+public override int yynum { get { return 112; }}
+public JumpLabel(Parser yyp):base(yyp){}}
+//%+JumpStatement+113
+public class JumpStatement : SYMBOL{
+ private string m_targetName ;
+ public JumpStatement (Parser yyp, string targetName ):base(((LSLSyntax
+)yyp)){ m_targetName = targetName ;
+}
+ public string TargetName { get { return m_targetName ;
+}
+}
+ public override string ToString (){ return base . ToString ()+"<"+ m_targetName +">";
+}
+
+public override string yyname { get { return "JumpStatement"; }}
+public override int yynum { get { return 113; }}
+public JumpStatement(Parser yyp):base(yyp){}}
+//%+StateChange+114
+public class StateChange : SYMBOL{
+ private string m_newState ;
+ public StateChange (Parser yyp, string newState ):base(((LSLSyntax
+)yyp)){ m_newState = newState ;
+}
+ public string NewState { get { return m_newState ;
+}
+}
+
+public override string yyname { get { return "StateChange"; }}
+public override int yynum { get { return 114; }}
+public StateChange(Parser yyp):base(yyp){}}
+//%+IfStatement+115
+public class IfStatement : SYMBOL{
+ private void AddStatement ( Statement s ){ if ( s . kids . Top is CompoundStatement ) kids . Add ( s . kids . Pop ());
+ else kids . Add ( s );
+}
+ public IfStatement (Parser yyp, Expression e , Statement ifs ):base(((LSLSyntax
+)yyp)){ kids . Add ( e );
+ AddStatement ( ifs );
+}
+ public IfStatement (Parser yyp, Expression e , Statement ifs , Statement es ):base(((LSLSyntax
+)yyp)){ kids . Add ( e );
+ AddStatement ( ifs );
+ if ( es . kids . Top is IfStatement ) kids . Add ( es . kids . Pop ());
+ else AddStatement ( es );
+}
+
+public override string yyname { get { return "IfStatement"; }}
+public override int yynum { get { return 115; }}
+public IfStatement(Parser yyp):base(yyp){}}
+//%+WhileStatement+116
+public class WhileStatement : SYMBOL{
+ public WhileStatement (Parser yyp, Expression e , Statement s ):base(((LSLSyntax
+)yyp)){ kids . Add ( e );
+ if ( s . kids . Top is CompoundStatement ) kids . Add ( s . kids . Pop ());
+ else kids . Add ( s );
+}
+
+public override string yyname { get { return "WhileStatement"; }}
+public override int yynum { get { return 116; }}
+public WhileStatement(Parser yyp):base(yyp){}}
+//%+DoWhileStatement+117
+public class DoWhileStatement : SYMBOL{
+ public DoWhileStatement (Parser yyp, Expression e , Statement s ):base(((LSLSyntax
+)yyp)){ if ( s . kids . Top is CompoundStatement ) kids . Add ( s . kids . Pop ());
+ else kids . Add ( s );
+ kids . Add ( e );
+}
+
+public override string yyname { get { return "DoWhileStatement"; }}
+public override int yynum { get { return 117; }}
+public DoWhileStatement(Parser yyp):base(yyp){}}
+//%+ForLoop+118
+public class ForLoop : SYMBOL{
+ public ForLoop (Parser yyp, ForLoopStatement flsa , Expression e , ForLoopStatement flsb , Statement s ):base(((LSLSyntax
+)yyp)){ kids . Add ( flsa );
+ kids . Add ( e );
+ kids . Add ( flsb );
+ if ( s . kids . Top is CompoundStatement ) kids . Add ( s . kids . Pop ());
+ else kids . Add ( s );
+}
+
+public override string yyname { get { return "ForLoop"; }}
+public override int yynum { get { return 118; }}
+public ForLoop(Parser yyp):base(yyp){}}
+//%+ForLoopStatement+119
+public class ForLoopStatement : SYMBOL{
+ public ForLoopStatement (Parser yyp, Expression e ):base(((LSLSyntax
+)yyp)){ kids . Add ( e );
+}
+ public ForLoopStatement (Parser yyp, Assignment a ):base(((LSLSyntax
+)yyp)){ kids . Add ( a );
+}
+ public ForLoopStatement (Parser yyp, ForLoopStatement fls , Expression e ):base(((LSLSyntax
+)yyp)){ while (0< fls . kids . Count ) kids . Add ( fls . kids . Pop ());
+ kids . Add ( e );
+}
+ public ForLoopStatement (Parser yyp, ForLoopStatement fls , Assignment a ):base(((LSLSyntax
+)yyp)){ while (0< fls . kids . Count ) kids . Add ( fls . kids . Pop ());
+ kids . Add ( a );
+}
+
+public override string yyname { get { return "ForLoopStatement"; }}
+public override int yynum { get { return 119; }}
+public ForLoopStatement(Parser yyp):base(yyp){}}
+//%+FunctionCall+120
+public class FunctionCall : SYMBOL{
+ private string m_id ;
+ public FunctionCall (Parser yyp, string id , ArgumentList al ):base(((LSLSyntax
+)yyp)){ m_id = id ;
+ kids . Add ( al );
+}
+ public override string ToString (){ return base . ToString ()+"<"+ m_id +">";
+}
+ public string Id { get { return m_id ;
+}
+}
+
+public override string yyname { get { return "FunctionCall"; }}
+public override int yynum { get { return 120; }}
+public FunctionCall(Parser yyp):base(yyp){}}
+//%+ArgumentList+121
+public class ArgumentList : SYMBOL{
+ public ArgumentList (Parser yyp, Argument a ):base(((LSLSyntax
+)yyp)){ AddArgument ( a );
+}
+ public ArgumentList (Parser yyp, ArgumentList al , Argument a ):base(((LSLSyntax
+)yyp)){ while (0< al . kids . Count ) kids . Add ( al . kids . Pop ());
+ AddArgument ( a );
+}
+ private void AddArgument ( Argument a ){ if ( a is ExpressionArgument ) while (0< a . kids . Count ) kids . Add ( a . kids . Pop ());
+ else kids . Add ( a );
+}
+
+public override string yyname { get { return "ArgumentList"; }}
+public override int yynum { get { return 121; }}
+public ArgumentList(Parser yyp):base(yyp){}}
+//%+Argument+122
+public class Argument : SYMBOL{
+public override string yyname { get { return "Argument"; }}
+public override int yynum { get { return 122; }}
+public Argument(Parser yyp):base(yyp){}}
+//%+ExpressionArgument+123
+public class ExpressionArgument : Argument{
+ public ExpressionArgument (Parser yyp, Expression e ):base(((LSLSyntax
+)yyp)){ if ( e is ConstantExpression ) while (0< e . kids . Count ) kids . Add ( e . kids . Pop ());
+ else kids . Add ( e );
+}
+
+public override string yyname { get { return "ExpressionArgument"; }}
+public override int yynum { get { return 123; }}
+public ExpressionArgument(Parser yyp):base(yyp){}}
+//%+Constant+124
+public class Constant : SYMBOL{
+ private string m_type ;
+ private string m_val ;
+ public Constant (Parser yyp, string type , string val ):base(((LSLSyntax
+)yyp)){ m_type = type ;
+ m_val = val ;
+}
+ public override string ToString (){ return base . ToString ()+"<"+ m_type +":"+ m_val +">";
+}
+ public string Value { get { return m_val ;
+}
+ set { m_val = value ;
+}
+}
+ public string Type { get { return m_type ;
+}
+ set { m_type = value ;
+}
+}
+
+public override string yyname { get { return "Constant"; }}
+public override int yynum { get { return 124; }}
+public Constant(Parser yyp):base(yyp){}}
+//%+VectorConstant+125
+public class VectorConstant : Constant{
+ public VectorConstant (Parser yyp, Expression valX , Expression valY , Expression valZ ):base(((LSLSyntax
+)yyp),"vector", null ){ kids . Add ( valX );
+ kids . Add ( valY );
+ kids . Add ( valZ );
+}
+
+public override string yyname { get { return "VectorConstant"; }}
+public override int yynum { get { return 125; }}
+public VectorConstant(Parser yyp):base(yyp){}}
+//%+RotationConstant+126
+public class RotationConstant : Constant{
+ public RotationConstant (Parser yyp, Expression valX , Expression valY , Expression valZ , Expression valS ):base(((LSLSyntax
+)yyp),"rotation", null ){ kids . Add ( valX );
+ kids . Add ( valY );
+ kids . Add ( valZ );
+ kids . Add ( valS );
+}
+
+public override string yyname { get { return "RotationConstant"; }}
+public override int yynum { get { return 126; }}
+public RotationConstant(Parser yyp):base(yyp){}}
+//%+ListConstant+127
+public class ListConstant : Constant{
+ public ListConstant (Parser yyp, ArgumentList al ):base(((LSLSyntax
+)yyp),"list", null ){ kids . Add ( al );
+}
+
+public override string yyname { get { return "ListConstant"; }}
+public override int yynum { get { return 127; }}
+public ListConstant(Parser yyp):base(yyp){}}
+//%+Expression+128
+public class Expression : SYMBOL{
+ protected void AddExpression ( Expression e ){ if ( e is ConstantExpression ) while (0< e . kids . Count ) kids . Add ( e . kids . Pop ());
+ else kids . Add ( e );
+}
+
+public override string yyname { get { return "Expression"; }}
+public override int yynum { get { return 128; }}
+public Expression(Parser yyp):base(yyp){}}
+//%+ConstantExpression+129
+public class ConstantExpression : Expression{
+ public ConstantExpression (Parser yyp, Constant c ):base(((LSLSyntax
+)yyp)){ kids . Add ( c );
+}
+
+public override string yyname { get { return "ConstantExpression"; }}
+public override int yynum { get { return 129; }}
+public ConstantExpression(Parser yyp):base(yyp){}}
+//%+IdentExpression+130
+public class IdentExpression : Expression{
+ protected string m_name ;
+ public IdentExpression (Parser yyp, string name ):base(((LSLSyntax
+)yyp)){ m_name = name ;
+}
+ public override string ToString (){ return base . ToString ()+"<"+ m_name +">";
+}
+ public string Name { get { return m_name ;
+}
+}
+
+public override string yyname { get { return "IdentExpression"; }}
+public override int yynum { get { return 130; }}
+public IdentExpression(Parser yyp):base(yyp){}}
+//%+IdentDotExpression+131
+public class IdentDotExpression : IdentExpression{
+ private string m_member ;
+ public IdentDotExpression (Parser yyp, string name , string member ):base(((LSLSyntax
+)yyp), name ){ m_member = member ;
+}
+ public override string ToString (){ string baseToString = base . ToString ();
+ return baseToString . Substring (0, baseToString . Length -1)+"."+ m_member +">";
+}
+ public string Member { get { return m_member ;
+}
+}
+
+public override string yyname { get { return "IdentDotExpression"; }}
+public override int yynum { get { return 131; }}
+public IdentDotExpression(Parser yyp):base(yyp){}}
+//%+FunctionCallExpression+132
+public class FunctionCallExpression : Expression{
+ public FunctionCallExpression (Parser yyp, FunctionCall fc ):base(((LSLSyntax
+)yyp)){ kids . Add ( fc );
+}
+
+public override string yyname { get { return "FunctionCallExpression"; }}
+public override int yynum { get { return 132; }}
+public FunctionCallExpression(Parser yyp):base(yyp){}}
+//%+BinaryExpression+133
+public class BinaryExpression : Expression{
+ private string m_expressionSymbol ;
+ public BinaryExpression (Parser yyp, Expression lhs , Expression rhs , string expressionSymbol ):base(((LSLSyntax
+)yyp)){ m_expressionSymbol = expressionSymbol ;
+ AddExpression ( lhs );
+ AddExpression ( rhs );
+}
+ public string ExpressionSymbol { get { return m_expressionSymbol ;
+}
+}
+ public override string ToString (){ return base . ToString ()+"<"+ m_expressionSymbol +">";
+}
+
+public override string yyname { get { return "BinaryExpression"; }}
+public override int yynum { get { return 133; }}
+public BinaryExpression(Parser yyp):base(yyp){}}
+//%+UnaryExpression+134
+public class UnaryExpression : Expression{
+ private string m_unarySymbol ;
+ public UnaryExpression (Parser yyp, string unarySymbol , Expression e ):base(((LSLSyntax
+)yyp)){ m_unarySymbol = unarySymbol ;
+ kids . Add ( e );
+}
+ public string UnarySymbol { get { return m_unarySymbol ;
+}
+}
+
+public override string yyname { get { return "UnaryExpression"; }}
+public override int yynum { get { return 134; }}
+public UnaryExpression(Parser yyp):base(yyp){}}
+//%+TypecastExpression+135
+public class TypecastExpression : Expression{
+ private string m_typecastType ;
+ public TypecastExpression (Parser yyp, string typecastType , SYMBOL rhs ):base(((LSLSyntax
+)yyp)){ m_typecastType = typecastType ;
+ kids . Add ( rhs );
+}
+ public string TypecastType { get { return m_typecastType ;
+}
+ set { m_typecastType = value ;
+}
+}
+
+public override string yyname { get { return "TypecastExpression"; }}
+public override int yynum { get { return 135; }}
+public TypecastExpression(Parser yyp):base(yyp){}}
+//%+ParenthesisExpression+136
+public class ParenthesisExpression : Expression{
+ public ParenthesisExpression (Parser yyp, Expression e ):base(((LSLSyntax
+)yyp)){ kids . Add ( e );
+}
+
+public override string yyname { get { return "ParenthesisExpression"; }}
+public override int yynum { get { return 136; }}
+public ParenthesisExpression(Parser yyp):base(yyp){}}
+//%+IncrementDecrementExpression+137
+public class IncrementDecrementExpression : Expression{
+ private string m_name ;
+ private string m_operation ;
+ private bool m_postOperation ;
+ public IncrementDecrementExpression (Parser yyp, string name , string operation , bool postOperation ):base(((LSLSyntax
+)yyp)){ m_name = name ;
+ m_operation = operation ;
+ m_postOperation = postOperation ;
+}
+ public IncrementDecrementExpression (Parser yyp, IdentDotExpression ide , string operation , bool postOperation ):base(((LSLSyntax
+)yyp)){ m_operation = operation ;
+ m_postOperation = postOperation ;
+ kids . Add ( ide );
+}
+ public override string ToString (){ return base . ToString ()+"<"+( m_postOperation ? m_name + m_operation : m_operation + m_name )+">";
+}
+ public string Name { get { return m_name ;
+}
+}
+ public string Operation { get { return m_operation ;
+}
+}
+ public bool PostOperation { get { return m_postOperation ;
+}
+}
+
+public override string yyname { get { return "IncrementDecrementExpression"; }}
+public override int yynum { get { return 137; }}
+public IncrementDecrementExpression(Parser yyp):base(yyp){}}
+
+public class LSLProgramRoot_1 : LSLProgramRoot {
+ public LSLProgramRoot_1(Parser yyq):base(yyq,
+ ((GlobalDefinitions)(yyq.StackAt(1).m_value))
+ ,
+ ((States)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class LSLProgramRoot_2 : LSLProgramRoot {
+ public LSLProgramRoot_2(Parser yyq):base(yyq,
+ ((States)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class GlobalDefinitions_1 : GlobalDefinitions {
+ public GlobalDefinitions_1(Parser yyq):base(yyq,
+ ((GlobalVariableDeclaration)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class GlobalDefinitions_2 : GlobalDefinitions {
+ public GlobalDefinitions_2(Parser yyq):base(yyq,
+ ((GlobalDefinitions)(yyq.StackAt(1).m_value))
+ ,
+ ((GlobalVariableDeclaration)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class GlobalDefinitions_3 : GlobalDefinitions {
+ public GlobalDefinitions_3(Parser yyq):base(yyq,
+ ((GlobalFunctionDefinition)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class GlobalDefinitions_4 : GlobalDefinitions {
+ public GlobalDefinitions_4(Parser yyq):base(yyq,
+ ((GlobalDefinitions)(yyq.StackAt(1).m_value))
+ ,
+ ((GlobalFunctionDefinition)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class GlobalVariableDeclaration_1 : GlobalVariableDeclaration {
+ public GlobalVariableDeclaration_1(Parser yyq):base(yyq,
+ ((Declaration)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class GlobalVariableDeclaration_2 : GlobalVariableDeclaration {
+ public GlobalVariableDeclaration_2(Parser yyq):base(yyq,new Assignment(((LSLSyntax
+)yyq),
+ ((Declaration)(yyq.StackAt(3).m_value))
+ ,
+ ((Expression)(yyq.StackAt(1).m_value))
+ ,
+ ((EQUALS)(yyq.StackAt(2).m_value))
+ .yytext)){}}
+
+public class GlobalFunctionDefinition_1 : GlobalFunctionDefinition {
+ public GlobalFunctionDefinition_1(Parser yyq):base(yyq,"void",
+ ((IDENT)(yyq.StackAt(4).m_value))
+ .yytext,
+ ((ArgumentDeclarationList)(yyq.StackAt(2).m_value))
+ ,
+ ((CompoundStatement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class GlobalFunctionDefinition_2 : GlobalFunctionDefinition {
+ public GlobalFunctionDefinition_2(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(5).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(4).m_value))
+ .yytext,
+ ((ArgumentDeclarationList)(yyq.StackAt(2).m_value))
+ ,
+ ((CompoundStatement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class States_1 : States {
+ public States_1(Parser yyq):base(yyq,
+ ((State)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class States_2 : States {
+ public States_2(Parser yyq):base(yyq,
+ ((States)(yyq.StackAt(1).m_value))
+ ,
+ ((State)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class State_1 : State {
+ public State_1(Parser yyq):base(yyq,
+ ((DEFAULT_STATE)(yyq.StackAt(3).m_value))
+ .yytext,
+ ((StateBody)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class State_2 : State {
+ public State_2(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(3).m_value))
+ .yytext,
+ ((StateBody)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class StateBody_1 : StateBody {
+ public StateBody_1(Parser yyq):base(yyq,
+ ((StateEvent)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class StateBody_2 : StateBody {
+ public StateBody_2(Parser yyq):base(yyq,
+ ((StateBody)(yyq.StackAt(1).m_value))
+ ,
+ ((StateEvent)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class StateEvent_1 : StateEvent {
+ public StateEvent_1(Parser yyq):base(yyq,
+ ((Event)(yyq.StackAt(4).m_value))
+ .yytext,
+ ((ArgumentDeclarationList)(yyq.StackAt(2).m_value))
+ ,
+ ((CompoundStatement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ArgumentDeclarationList_1 : ArgumentDeclarationList {
+ public ArgumentDeclarationList_1(Parser yyq):base(yyq,
+ ((Declaration)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ArgumentDeclarationList_2 : ArgumentDeclarationList {
+ public ArgumentDeclarationList_2(Parser yyq):base(yyq,
+ ((ArgumentDeclarationList)(yyq.StackAt(2).m_value))
+ ,
+ ((Declaration)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class Declaration_1 : Declaration {
+ public Declaration_1(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(1).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class CompoundStatement_1 : CompoundStatement {
+ public CompoundStatement_1(Parser yyq):base(yyq){}}
+
+public class CompoundStatement_2 : CompoundStatement {
+ public CompoundStatement_2(Parser yyq):base(yyq,
+ ((StatementList)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class StatementList_1 : StatementList {
+ public StatementList_1(Parser yyq):base(yyq,
+ ((Statement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class StatementList_2 : StatementList {
+ public StatementList_2(Parser yyq):base(yyq,
+ ((StatementList)(yyq.StackAt(1).m_value))
+ ,
+ ((Statement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class Statement_1 : Statement {
+ public Statement_1(Parser yyq):base(yyq,
+ ((Declaration)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class Statement_2 : Statement {
+ public Statement_2(Parser yyq):base(yyq,
+ ((Assignment)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class Statement_3 : Statement {
+ public Statement_3(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class Statement_4 : Statement {
+ public Statement_4(Parser yyq):base(yyq,
+ ((ReturnStatement)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class Statement_5 : Statement {
+ public Statement_5(Parser yyq):base(yyq,
+ ((JumpLabel)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class Statement_6 : Statement {
+ public Statement_6(Parser yyq):base(yyq,
+ ((JumpStatement)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class Statement_7 : Statement {
+ public Statement_7(Parser yyq):base(yyq,
+ ((StateChange)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class Statement_8 : Statement {
+ public Statement_8(Parser yyq):base(yyq,
+ ((IfStatement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class Statement_9 : Statement {
+ public Statement_9(Parser yyq):base(yyq,
+ ((WhileStatement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class Statement_10 : Statement {
+ public Statement_10(Parser yyq):base(yyq,
+ ((DoWhileStatement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class Statement_11 : Statement {
+ public Statement_11(Parser yyq):base(yyq,
+ ((ForLoop)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class Statement_12 : Statement {
+ public Statement_12(Parser yyq):base(yyq,
+ ((CompoundStatement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class JumpLabel_1 : JumpLabel {
+ public JumpLabel_1(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class JumpStatement_1 : JumpStatement {
+ public JumpStatement_1(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class StateChange_1 : StateChange {
+ public StateChange_1(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class StateChange_2 : StateChange {
+ public StateChange_2(Parser yyq):base(yyq,
+ ((DEFAULT_STATE)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class IfStatement_1 : IfStatement {
+ public IfStatement_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Statement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class IfStatement_2 : IfStatement {
+ public IfStatement_2(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(4).m_value))
+ ,
+ ((Statement)(yyq.StackAt(2).m_value))
+ ,
+ ((Statement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class WhileStatement_1 : WhileStatement {
+ public WhileStatement_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Statement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class DoWhileStatement_1 : DoWhileStatement {
+ public DoWhileStatement_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Statement)(yyq.StackAt(5).m_value))
+ ){}}
+
+public class ForLoop_1 : ForLoop {
+ public ForLoop_1(Parser yyq):base(yyq,
+ ((ForLoopStatement)(yyq.StackAt(6).m_value))
+ ,
+ ((Expression)(yyq.StackAt(4).m_value))
+ ,
+ ((ForLoopStatement)(yyq.StackAt(2).m_value))
+ ,
+ ((Statement)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ForLoopStatement_1 : ForLoopStatement {
+ public ForLoopStatement_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ForLoopStatement_2 : ForLoopStatement {
+ public ForLoopStatement_2(Parser yyq):base(yyq,
+ ((Assignment)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ForLoopStatement_3 : ForLoopStatement {
+ public ForLoopStatement_3(Parser yyq):base(yyq,
+ ((ForLoopStatement)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ForLoopStatement_4 : ForLoopStatement {
+ public ForLoopStatement_4(Parser yyq):base(yyq,
+ ((ForLoopStatement)(yyq.StackAt(2).m_value))
+ ,
+ ((Assignment)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class Assignment_1 : Assignment {
+ public Assignment_1(Parser yyq):base(yyq,
+ ((Declaration)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class Assignment_2 : Assignment {
+ public Assignment_2(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class Assignment_3 : Assignment {
+ public Assignment_3(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((PLUS_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class Assignment_4 : Assignment {
+ public Assignment_4(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((MINUS_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class Assignment_5 : Assignment {
+ public Assignment_5(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((STAR_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class Assignment_6 : Assignment {
+ public Assignment_6(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((SLASH_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class Assignment_7 : Assignment {
+ public Assignment_7(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((PERCENT_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class Assignment_8 : Assignment {
+ public Assignment_8(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(4).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(2).m_value))
+ .yytext),
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class ReturnStatement_1 : ReturnStatement {
+ public ReturnStatement_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ReturnStatement_2 : ReturnStatement {
+ public ReturnStatement_2(Parser yyq):base(yyq){}}
+
+public class Constant_1 : Constant {
+ public Constant_1(Parser yyq):base(yyq,"integer",
+ ((INTEGER_CONSTANT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Constant_2 : Constant {
+ public Constant_2(Parser yyq):base(yyq,"integer",
+ ((HEX_INTEGER_CONSTANT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Constant_3 : Constant {
+ public Constant_3(Parser yyq):base(yyq,"float",
+ ((FLOAT_CONSTANT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Constant_4 : Constant {
+ public Constant_4(Parser yyq):base(yyq,"string",
+ ((STRING_CONSTANT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class VectorConstant_1 : VectorConstant {
+ public VectorConstant_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(5).m_value))
+ ,
+ ((Expression)(yyq.StackAt(3).m_value))
+ ,
+ ((Expression)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class RotationConstant_1 : RotationConstant {
+ public RotationConstant_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(7).m_value))
+ ,
+ ((Expression)(yyq.StackAt(5).m_value))
+ ,
+ ((Expression)(yyq.StackAt(3).m_value))
+ ,
+ ((Expression)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class ListConstant_1 : ListConstant {
+ public ListConstant_1(Parser yyq):base(yyq,
+ ((ArgumentList)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class ConstantExpression_1 : ConstantExpression {
+ public ConstantExpression_1(Parser yyq):base(yyq,
+ ((Constant)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class IdentExpression_1 : IdentExpression {
+ public IdentExpression_1(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class IdentDotExpression_1 : IdentDotExpression {
+ public IdentDotExpression_1(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(2).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class IncrementDecrementExpression_1 : IncrementDecrementExpression {
+ public IncrementDecrementExpression_1(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(1).m_value))
+ .yytext,
+ ((INCREMENT)(yyq.StackAt(0).m_value))
+ .yytext, true){}}
+
+public class IncrementDecrementExpression_2 : IncrementDecrementExpression {
+ public IncrementDecrementExpression_2(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(1).m_value))
+ .yytext,
+ ((DECREMENT)(yyq.StackAt(0).m_value))
+ .yytext, true){}}
+
+public class IncrementDecrementExpression_3 : IncrementDecrementExpression {
+ public IncrementDecrementExpression_3(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(3).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(1).m_value))
+ .yytext),
+ ((INCREMENT)(yyq.StackAt(0).m_value))
+ .yytext, true){}}
+
+public class IncrementDecrementExpression_4 : IncrementDecrementExpression {
+ public IncrementDecrementExpression_4(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(3).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(1).m_value))
+ .yytext),
+ ((DECREMENT)(yyq.StackAt(0).m_value))
+ .yytext, true){}}
+
+public class IncrementDecrementExpression_5 : IncrementDecrementExpression {
+ public IncrementDecrementExpression_5(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext,
+ ((INCREMENT)(yyq.StackAt(1).m_value))
+ .yytext, false){}}
+
+public class IncrementDecrementExpression_6 : IncrementDecrementExpression {
+ public IncrementDecrementExpression_6(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext,
+ ((DECREMENT)(yyq.StackAt(1).m_value))
+ .yytext, false){}}
+
+public class IncrementDecrementExpression_7 : IncrementDecrementExpression {
+ public IncrementDecrementExpression_7(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(2).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext),
+ ((INCREMENT)(yyq.StackAt(3).m_value))
+ .yytext, false){}}
+
+public class IncrementDecrementExpression_8 : IncrementDecrementExpression {
+ public IncrementDecrementExpression_8(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(2).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext),
+ ((DECREMENT)(yyq.StackAt(3).m_value))
+ .yytext, false){}}
+
+public class FunctionCallExpression_1 : FunctionCallExpression {
+ public FunctionCallExpression_1(Parser yyq):base(yyq,
+ ((FunctionCall)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class BinaryExpression_1 : BinaryExpression {
+ public BinaryExpression_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((PLUS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_2 : BinaryExpression {
+ public BinaryExpression_2(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((MINUS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_3 : BinaryExpression {
+ public BinaryExpression_3(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((STAR)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_4 : BinaryExpression {
+ public BinaryExpression_4(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((SLASH)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_5 : BinaryExpression {
+ public BinaryExpression_5(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((PERCENT)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_6 : BinaryExpression {
+ public BinaryExpression_6(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((AMP)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_7 : BinaryExpression {
+ public BinaryExpression_7(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((STROKE)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_8 : BinaryExpression {
+ public BinaryExpression_8(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((CARET)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_9 : BinaryExpression {
+ public BinaryExpression_9(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((RIGHT_ANGLE)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_10 : BinaryExpression {
+ public BinaryExpression_10(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((LEFT_ANGLE)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_11 : BinaryExpression {
+ public BinaryExpression_11(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((EQUALS_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_12 : BinaryExpression {
+ public BinaryExpression_12(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((EXCLAMATION_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_13 : BinaryExpression {
+ public BinaryExpression_13(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((LESS_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_14 : BinaryExpression {
+ public BinaryExpression_14(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((GREATER_EQUALS)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_15 : BinaryExpression {
+ public BinaryExpression_15(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((AMP_AMP)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_16 : BinaryExpression {
+ public BinaryExpression_16(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((STROKE_STROKE)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_17 : BinaryExpression {
+ public BinaryExpression_17(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((LEFT_SHIFT)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class BinaryExpression_18 : BinaryExpression {
+ public BinaryExpression_18(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(2).m_value))
+ ,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ,
+ ((RIGHT_SHIFT)(yyq.StackAt(1).m_value))
+ .yytext){}}
+
+public class UnaryExpression_1 : UnaryExpression {
+ public UnaryExpression_1(Parser yyq):base(yyq,
+ ((EXCLAMATION)(yyq.StackAt(1).m_value))
+ .yytext,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class UnaryExpression_2 : UnaryExpression {
+ public UnaryExpression_2(Parser yyq):base(yyq,
+ ((MINUS)(yyq.StackAt(1).m_value))
+ .yytext,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class UnaryExpression_3 : UnaryExpression {
+ public UnaryExpression_3(Parser yyq):base(yyq,
+ ((TILDE)(yyq.StackAt(1).m_value))
+ .yytext,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ParenthesisExpression_1 : ParenthesisExpression {
+ public ParenthesisExpression_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class TypecastExpression_1 : TypecastExpression {
+ public TypecastExpression_1(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(2).m_value))
+ .yytext,
+ ((Constant)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class TypecastExpression_2 : TypecastExpression {
+ public TypecastExpression_2(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(2).m_value))
+ .yytext, new IdentExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext)){}}
+
+public class TypecastExpression_3 : TypecastExpression {
+ public TypecastExpression_3(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(4).m_value))
+ .yytext, new IdentDotExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(2).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(0).m_value))
+ .yytext)){}}
+
+public class TypecastExpression_4 : TypecastExpression {
+ public TypecastExpression_4(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(3).m_value))
+ .yytext, new IncrementDecrementExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(1).m_value))
+ .yytext,
+ ((INCREMENT)(yyq.StackAt(0).m_value))
+ .yytext, true)){}}
+
+public class TypecastExpression_5 : TypecastExpression {
+ public TypecastExpression_5(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(5).m_value))
+ .yytext, new IncrementDecrementExpression(((LSLSyntax
+)yyq), new IdentDotExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(3).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(1).m_value))
+ .yytext),
+ ((INCREMENT)(yyq.StackAt(0).m_value))
+ .yytext, true)){}}
+
+public class TypecastExpression_6 : TypecastExpression {
+ public TypecastExpression_6(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(3).m_value))
+ .yytext, new IncrementDecrementExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(1).m_value))
+ .yytext,
+ ((DECREMENT)(yyq.StackAt(0).m_value))
+ .yytext, true)){}}
+
+public class TypecastExpression_7 : TypecastExpression {
+ public TypecastExpression_7(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(5).m_value))
+ .yytext, new IncrementDecrementExpression(((LSLSyntax
+)yyq), new IdentDotExpression(((LSLSyntax
+)yyq),
+ ((IDENT)(yyq.StackAt(3).m_value))
+ .yytext,
+ ((IDENT)(yyq.StackAt(1).m_value))
+ .yytext),
+ ((DECREMENT)(yyq.StackAt(0).m_value))
+ .yytext, true)){}}
+
+public class TypecastExpression_8 : TypecastExpression {
+ public TypecastExpression_8(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(2).m_value))
+ .yytext,
+ ((FunctionCall)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class TypecastExpression_9 : TypecastExpression {
+ public TypecastExpression_9(Parser yyq):base(yyq,
+ ((Typename)(yyq.StackAt(4).m_value))
+ .yytext,
+ ((Expression)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class FunctionCall_1 : FunctionCall {
+ public FunctionCall_1(Parser yyq):base(yyq,
+ ((IDENT)(yyq.StackAt(3).m_value))
+ .yytext,
+ ((ArgumentList)(yyq.StackAt(1).m_value))
+ ){}}
+
+public class ArgumentList_1 : ArgumentList {
+ public ArgumentList_1(Parser yyq):base(yyq,
+ ((Argument)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ArgumentList_2 : ArgumentList {
+ public ArgumentList_2(Parser yyq):base(yyq,
+ ((ArgumentList)(yyq.StackAt(2).m_value))
+ ,
+ ((Argument)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class ExpressionArgument_1 : ExpressionArgument {
+ public ExpressionArgument_1(Parser yyq):base(yyq,
+ ((Expression)(yyq.StackAt(0).m_value))
+ ){}}
+
+public class Typename_1 : Typename {
+ public Typename_1(Parser yyq):base(yyq,
+ ((INTEGER_TYPE)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Typename_2 : Typename {
+ public Typename_2(Parser yyq):base(yyq,
+ ((FLOAT_TYPE)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Typename_3 : Typename {
+ public Typename_3(Parser yyq):base(yyq,
+ ((STRING_TYPE)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Typename_4 : Typename {
+ public Typename_4(Parser yyq):base(yyq,
+ ((KEY_TYPE)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Typename_5 : Typename {
+ public Typename_5(Parser yyq):base(yyq,
+ ((VECTOR_TYPE)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Typename_6 : Typename {
+ public Typename_6(Parser yyq):base(yyq,
+ ((ROTATION_TYPE)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Typename_7 : Typename {
+ public Typename_7(Parser yyq):base(yyq,
+ ((LIST_TYPE)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_1 : Event {
+ public Event_1(Parser yyq):base(yyq,
+ ((AT_ROT_TARGET_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_2 : Event {
+ public Event_2(Parser yyq):base(yyq,
+ ((AT_TARGET_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_3 : Event {
+ public Event_3(Parser yyq):base(yyq,
+ ((ATTACH_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_4 : Event {
+ public Event_4(Parser yyq):base(yyq,
+ ((CHANGED_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_5 : Event {
+ public Event_5(Parser yyq):base(yyq,
+ ((COLLISION_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_6 : Event {
+ public Event_6(Parser yyq):base(yyq,
+ ((COLLISION_END_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_7 : Event {
+ public Event_7(Parser yyq):base(yyq,
+ ((COLLISION_START_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_8 : Event {
+ public Event_8(Parser yyq):base(yyq,
+ ((CONTROL_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_9 : Event {
+ public Event_9(Parser yyq):base(yyq,
+ ((DATASERVER_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_10 : Event {
+ public Event_10(Parser yyq):base(yyq,
+ ((EMAIL_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_11 : Event {
+ public Event_11(Parser yyq):base(yyq,
+ ((HTTP_RESPONSE_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_12 : Event {
+ public Event_12(Parser yyq):base(yyq,
+ ((LAND_COLLISION_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_13 : Event {
+ public Event_13(Parser yyq):base(yyq,
+ ((LAND_COLLISION_END_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_14 : Event {
+ public Event_14(Parser yyq):base(yyq,
+ ((LAND_COLLISION_START_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_15 : Event {
+ public Event_15(Parser yyq):base(yyq,
+ ((LINK_MESSAGE_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_16 : Event {
+ public Event_16(Parser yyq):base(yyq,
+ ((LISTEN_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_17 : Event {
+ public Event_17(Parser yyq):base(yyq,
+ ((MONEY_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_18 : Event {
+ public Event_18(Parser yyq):base(yyq,
+ ((MOVING_END_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_19 : Event {
+ public Event_19(Parser yyq):base(yyq,
+ ((MOVING_START_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_20 : Event {
+ public Event_20(Parser yyq):base(yyq,
+ ((NO_SENSOR_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_21 : Event {
+ public Event_21(Parser yyq):base(yyq,
+ ((NOT_AT_ROT_TARGET_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_22 : Event {
+ public Event_22(Parser yyq):base(yyq,
+ ((NOT_AT_TARGET_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_23 : Event {
+ public Event_23(Parser yyq):base(yyq,
+ ((OBJECT_REZ_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_24 : Event {
+ public Event_24(Parser yyq):base(yyq,
+ ((ON_REZ_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_25 : Event {
+ public Event_25(Parser yyq):base(yyq,
+ ((REMOTE_DATA_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_26 : Event {
+ public Event_26(Parser yyq):base(yyq,
+ ((RUN_TIME_PERMISSIONS_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_27 : Event {
+ public Event_27(Parser yyq):base(yyq,
+ ((SENSOR_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_28 : Event {
+ public Event_28(Parser yyq):base(yyq,
+ ((STATE_ENTRY_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_29 : Event {
+ public Event_29(Parser yyq):base(yyq,
+ ((STATE_EXIT_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_30 : Event {
+ public Event_30(Parser yyq):base(yyq,
+ ((TIMER_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_31 : Event {
+ public Event_31(Parser yyq):base(yyq,
+ ((TOUCH_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_32 : Event {
+ public Event_32(Parser yyq):base(yyq,
+ ((TOUCH_END_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+
+public class Event_33 : Event {
+ public Event_33(Parser yyq):base(yyq,
+ ((TOUCH_START_EVENT)(yyq.StackAt(0).m_value))
+ .yytext){}}
+public class yyLSLSyntax
+: YyParser {
+ public override object Action(Parser yyq,SYMBOL yysym, int yyact) {
+ switch(yyact) {
+ case -1: break; //// keep compiler happy
+} return null; }
+
+public class ArgumentDeclarationList_3 : ArgumentDeclarationList {
+ public ArgumentDeclarationList_3(Parser yyq):base(yyq){}}
+
+public class ArgumentList_3 : ArgumentList {
+ public ArgumentList_3(Parser yyq):base(yyq){}}
+
+public class Statement_13 : Statement {
+ public Statement_13(Parser yyq):base(yyq){}}
+
+public class ArgumentList_4 : ArgumentList {
+ public ArgumentList_4(Parser yyq):base(yyq){}}
+
+public class ArgumentDeclarationList_4 : ArgumentDeclarationList {
+ public ArgumentDeclarationList_4(Parser yyq):base(yyq){}}
+
+public class ArgumentDeclarationList_5 : ArgumentDeclarationList {
+ public ArgumentDeclarationList_5(Parser yyq):base(yyq){}}
+public yyLSLSyntax
+():base() { arr = new int[] {
+101,4,6,52,0,
+46,0,53,0,102,
+20,103,4,28,76,
+0,83,0,76,0,
+80,0,114,0,111,
+0,103,0,114,0,
+97,0,109,0,82,
+0,111,0,111,0,
+116,0,1,95,1,
+2,104,18,1,2292,
+102,2,0,105,5,
+277,1,0,106,18,
+1,0,0,2,0,
+1,1,107,18,1,
+1,108,20,109,4,
+18,76,0,73,0,
+83,0,84,0,95,
+0,84,0,89,0,
+80,0,69,0,1,
+57,1,1,2,0,
+1,2,110,18,1,
+2,111,20,112,4,
+26,82,0,79,0,
+84,0,65,0,84,
+0,73,0,79,0,
+78,0,95,0,84,
+0,89,0,80,0,
+69,0,1,56,1,
+1,2,0,1,3,
+113,18,1,3,114,
+20,115,4,22,86,
+0,69,0,67,0,
+84,0,79,0,82,
+0,95,0,84,0,
+89,0,80,0,69,
+0,1,55,1,1,
+2,0,1,4,116,
+18,1,4,117,20,
+118,4,16,75,0,
+69,0,89,0,95,
+0,84,0,89,0,
+80,0,69,0,1,
+54,1,1,2,0,
+1,5,119,18,1,
+5,120,20,121,4,
+22,83,0,84,0,
+82,0,73,0,78,
+0,71,0,95,0,
+84,0,89,0,80,
+0,69,0,1,53,
+1,1,2,0,1,
+6,122,18,1,6,
+123,20,124,4,20,
+70,0,76,0,79,
+0,65,0,84,0,
+95,0,84,0,89,
+0,80,0,69,0,
+1,52,1,1,2,
+0,1,7,125,18,
+1,7,126,20,127,
+4,24,73,0,78,
+0,84,0,69,0,
+71,0,69,0,82,
+0,95,0,84,0,
+89,0,80,0,69,
+0,1,51,1,1,
+2,0,1,8,128,
+18,1,8,129,20,
+130,4,16,84,0,
+121,0,112,0,101,
+0,110,0,97,0,
+109,0,101,0,1,
+105,1,2,2,0,
+1,9,131,18,1,
+9,132,20,133,4,
+10,73,0,68,0,
+69,0,78,0,84,
+0,1,91,1,1,
+2,0,1,10,134,
+18,1,10,135,20,
+136,4,20,76,0,
+69,0,70,0,84,
+0,95,0,80,0,
+65,0,82,0,69,
+0,78,0,1,16,
+1,1,2,0,1,
+2239,137,18,1,2239,
+138,20,139,4,20,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+1,128,1,2,2,
+0,1,573,140,18,
+1,573,141,20,142,
+4,26,82,0,73,
+0,71,0,72,0,
+84,0,95,0,66,
+0,82,0,65,0,
+67,0,75,0,69,
+0,84,0,1,28,
+1,1,2,0,1,
+574,143,18,1,574,
+144,20,145,4,16,
+65,0,114,0,103,
+0,117,0,109,0,
+101,0,110,0,116,
+0,1,122,1,2,
+2,0,1,18,146,
+18,1,18,129,2,
+0,1,19,147,18,
+1,19,132,2,0,
+1,20,148,18,1,
+20,149,20,150,4,
+46,65,0,114,0,
+103,0,117,0,109,
+0,101,0,110,0,
+116,0,68,0,101,
+0,99,0,108,0,
+97,0,114,0,97,
+0,116,0,105,0,
+111,0,110,0,76,
+0,105,0,115,0,
+116,0,1,103,1,
+2,2,0,1,21,
+151,18,1,21,152,
+20,153,4,10,67,
+0,79,0,77,0,
+77,0,65,0,1,
+14,1,1,2,0,
+1,1693,154,18,1,
+1693,155,20,156,4,
+22,82,0,73,0,
+71,0,72,0,84,
+0,95,0,80,0,
+65,0,82,0,69,
+0,78,0,1,17,
+1,1,2,0,1,
+1694,157,18,1,1694,
+158,20,159,4,18,
+83,0,69,0,77,
+0,73,0,67,0,
+79,0,76,0,79,
+0,78,0,1,11,
+1,1,2,0,1,
+30,160,18,1,30,
+161,20,162,4,22,
+68,0,101,0,99,
+0,108,0,97,0,
+114,0,97,0,116,
+0,105,0,111,0,
+110,0,1,104,1,
+2,2,0,1,31,
+163,18,1,31,155,
+2,0,1,32,164,
+18,1,32,165,20,
+166,4,20,76,0,
+69,0,70,0,84,
+0,95,0,66,0,
+82,0,65,0,67,
+0,69,0,1,12,
+1,1,2,0,1,
+1706,167,18,1,1706,
+168,20,169,4,10,
+87,0,72,0,73,
+0,76,0,69,0,
+1,45,1,1,2,
+0,1,1707,170,18,
+1,1707,135,2,0,
+1,1115,171,18,1,
+1115,172,20,173,4,
+12,69,0,81,0,
+85,0,65,0,76,
+0,83,0,1,15,
+1,1,2,0,1,
+1152,174,18,1,1152,
+175,20,176,4,28,
+80,0,69,0,82,
+0,67,0,69,0,
+78,0,84,0,95,
+0,69,0,81,0,
+85,0,65,0,76,
+0,83,0,1,10,
+1,1,2,0,1,
+40,177,18,1,40,
+132,2,0,1,41,
+178,18,1,41,135,
+2,0,1,42,179,
+18,1,42,138,2,
+0,1,43,180,18,
+1,43,181,20,182,
+4,22,82,0,73,
+0,71,0,72,0,
+84,0,95,0,83,
+0,72,0,73,0,
+70,0,84,0,1,
+41,1,1,2,0,
+1,44,183,18,1,
+44,132,2,0,1,
+46,184,18,1,46,
+185,20,186,4,12,
+80,0,69,0,82,
+0,73,0,79,0,
+68,0,1,24,1,
+1,2,0,1,47,
+187,18,1,47,132,
+2,0,1,48,188,
+18,1,48,189,20,
+190,4,18,68,0,
+69,0,67,0,82,
+0,69,0,77,0,
+69,0,78,0,84,
+0,1,5,1,1,
+2,0,1,49,191,
+18,1,49,192,20,
+193,4,18,73,0,
+78,0,67,0,82,
+0,69,0,77,0,
+69,0,78,0,84,
+0,1,4,1,1,
+2,0,1,50,194,
+18,1,50,189,2,
+0,1,51,195,18,
+1,51,192,2,0,
+1,52,196,18,1,
+52,135,2,0,1,
+2281,197,18,1,2281,
+198,20,199,4,12,
+83,0,116,0,97,
+0,116,0,101,0,
+115,0,1,99,1,
+2,2,0,1,1674,
+200,18,1,1674,138,
+2,0,1,2216,201,
+18,1,2216,132,2,
+0,1,2288,202,18,
+1,2288,203,20,204,
+4,48,71,0,108,
+0,111,0,98,0,
+97,0,108,0,70,
+0,117,0,110,0,
+99,0,116,0,105,
+0,111,0,110,0,
+68,0,101,0,102,
+0,105,0,110,0,
+105,0,116,0,105,
+0,111,0,110,0,
+1,98,1,2,2,
+0,1,61,205,18,
+1,61,129,2,0,
+1,62,206,18,1,
+62,155,2,0,1,
+63,207,18,1,63,
+132,2,0,1,2292,
+104,1,65,208,18,
+1,65,185,2,0,
+1,66,209,18,1,
+66,132,2,0,1,
+67,210,18,1,67,
+189,2,0,1,68,
+211,18,1,68,192,
+2,0,1,69,212,
+18,1,69,189,2,
+0,1,70,213,18,
+1,70,192,2,0,
+1,71,214,18,1,
+71,135,2,0,1,
+2099,215,18,1,2099,
+216,20,217,4,18,
+83,0,116,0,97,
+0,116,0,101,0,
+66,0,111,0,100,
+0,121,0,1,101,
+1,2,2,0,1,
+73,218,18,1,73,
+138,2,0,1,74,
+219,18,1,74,155,
+2,0,1,2232,220,
+18,1,2232,161,2,
+0,1,76,221,18,
+1,76,222,20,223,
+4,20,76,0,69,
+0,70,0,84,0,
+95,0,83,0,72,
+0,73,0,70,0,
+84,0,1,40,1,
+1,2,0,1,1193,
+224,18,1,1193,138,
+2,0,1,1121,225,
+18,1,1121,138,2,
+0,1,82,226,18,
+1,82,138,2,0,
+1,79,227,18,1,
+79,228,20,229,4,
+10,84,0,73,0,
+76,0,68,0,69,
+0,1,36,1,1,
+2,0,1,85,230,
+18,1,85,231,20,
+232,4,26,83,0,
+84,0,82,0,79,
+0,75,0,69,0,
+95,0,83,0,84,
+0,82,0,79,0,
+75,0,69,0,1,
+39,1,1,2,0,
+1,2050,233,18,1,
+2050,234,20,235,4,
+34,84,0,79,0,
+85,0,67,0,72,
+0,95,0,83,0,
+84,0,65,0,82,
+0,84,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,89,1,1,2,
+0,1,89,236,18,
+1,89,237,20,238,
+4,10,77,0,73,
+0,78,0,85,0,
+83,0,1,19,1,
+1,2,0,1,1762,
+239,18,1,1762,240,
+20,241,4,4,73,
+0,70,0,1,42,
+1,1,2,0,1,
+1763,242,18,1,1763,
+135,2,0,1,93,
+243,18,1,93,138,
+2,0,1,97,244,
+18,1,97,245,20,
+246,4,14,65,0,
+77,0,80,0,95,
+0,65,0,77,0,
+80,0,1,38,1,
+1,2,0,1,1769,
+247,18,1,1769,138,
+2,0,1,102,248,
+18,1,102,249,20,
+250,4,22,69,0,
+88,0,67,0,76,
+0,65,0,77,0,
+65,0,84,0,73,
+0,79,0,78,0,
+1,37,1,1,2,
+0,1,1668,251,18,
+1,1668,135,2,0,
+1,107,252,18,1,
+107,138,2,0,1,
+1222,253,18,1,1222,
+254,20,255,4,22,
+83,0,84,0,65,
+0,82,0,95,0,
+69,0,81,0,85,
+0,65,0,76,0,
+83,0,1,8,1,
+1,2,0,1,2074,
+256,18,1,2074,257,
+20,258,4,32,68,
+0,65,0,84,0,
+65,0,83,0,69,
+0,82,0,86,0,
+69,0,82,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,66,1,1,
+2,0,1,112,259,
+18,1,112,260,20,
+261,4,28,71,0,
+82,0,69,0,65,
+0,84,0,69,0,
+82,0,95,0,69,
+0,81,0,85,0,
+65,0,76,0,83,
+0,1,32,1,1,
+2,0,1,2269,262,
+18,1,2269,158,2,
+0,1,1228,263,18,
+1,1228,138,2,0,
+1,1732,264,18,1,
+1732,155,2,0,1,
+118,265,18,1,118,
+138,2,0,1,1158,
+266,18,1,1158,138,
+2,0,1,124,267,
+18,1,124,268,20,
+269,4,22,76,0,
+69,0,83,0,83,
+0,95,0,69,0,
+81,0,85,0,65,
+0,76,0,83,0,
+1,31,1,1,2,
+0,1,130,270,18,
+1,130,138,2,0,
+1,2289,271,18,1,
+2289,272,20,273,4,
+50,71,0,108,0,
+111,0,98,0,97,
+0,108,0,86,0,
+97,0,114,0,105,
+0,97,0,98,0,
+108,0,101,0,68,
+0,101,0,99,0,
+108,0,97,0,114,
+0,97,0,116,0,
+105,0,111,0,110,
+0,1,97,1,2,
+2,0,1,2290,274,
+18,1,2290,203,2,
+0,1,2291,275,18,
+1,2291,272,2,0,
+1,137,276,18,1,
+137,277,20,278,4,
+36,69,0,88,0,
+67,0,76,0,65,
+0,77,0,65,0,
+84,0,73,0,79,
+0,78,0,95,0,
+69,0,81,0,85,
+0,65,0,76,0,
+83,0,1,30,1,
+1,2,0,1,2293,
+279,18,1,2293,280,
+23,281,4,6,69,
+0,79,0,70,0,
+1,2,1,6,2,
+0,1,2226,282,18,
+1,2226,149,2,0,
+1,2228,283,18,1,
+2228,155,2,0,1,
+1257,284,18,1,1257,
+285,20,286,4,24,
+77,0,73,0,78,
+0,85,0,83,0,
+95,0,69,0,81,
+0,85,0,65,0,
+76,0,83,0,1,
+7,1,1,2,0,
+1,2230,287,18,1,
+2230,288,20,289,4,
+34,67,0,111,0,
+109,0,112,0,111,
+0,117,0,110,0,
+100,0,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+1,107,1,2,2,
+0,1,1817,290,18,
+1,1817,291,20,292,
+4,18,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+1,109,1,2,2,
+0,1,1818,293,18,
+1,1818,294,20,295,
+4,8,69,0,76,
+0,83,0,69,0,
+1,43,1,1,2,
+0,1,1263,296,18,
+1,1263,138,2,0,
+1,151,297,18,1,
+151,298,20,299,4,
+26,69,0,81,0,
+85,0,65,0,76,
+0,83,0,95,0,
+69,0,81,0,85,
+0,65,0,76,0,
+83,0,1,29,1,
+1,2,0,1,1713,
+300,18,1,1713,138,
+2,0,1,143,301,
+18,1,143,138,2,
+0,1,157,302,18,
+1,157,138,2,0,
+1,166,303,18,1,
+166,304,20,305,4,
+20,76,0,69,0,
+70,0,84,0,95,
+0,65,0,78,0,
+71,0,76,0,69,
+0,1,25,1,1,
+2,0,1,172,306,
+18,1,172,138,2,
+0,1,1788,307,18,
+1,1788,155,2,0,
+1,1847,308,18,1,
+1847,291,2,0,1,
+1292,309,18,1,1292,
+310,20,311,4,22,
+80,0,76,0,85,
+0,83,0,95,0,
+69,0,81,0,85,
+0,65,0,76,0,
+83,0,1,6,1,
+1,2,0,1,1850,
+312,18,1,1850,313,
+20,314,4,26,68,
+0,69,0,70,0,
+65,0,85,0,76,
+0,84,0,95,0,
+83,0,84,0,65,
+0,84,0,69,0,
+1,47,1,1,2,
+0,1,1851,315,18,
+1,1851,132,2,0,
+1,1852,316,18,1,
+1852,317,20,318,4,
+8,74,0,85,0,
+77,0,80,0,1,
+49,1,1,2,0,
+1,1853,319,18,1,
+1853,132,2,0,1,
+1854,320,18,1,1854,
+321,20,322,4,4,
+65,0,84,0,1,
+23,1,1,2,0,
+1,1855,323,18,1,
+1855,132,2,0,1,
+1856,324,18,1,1856,
+288,2,0,1,1857,
+325,18,1,1857,326,
+20,327,4,14,70,
+0,111,0,114,0,
+76,0,111,0,111,
+0,112,0,1,118,
+1,2,2,0,1,
+1858,328,18,1,1858,
+329,20,330,4,32,
+68,0,111,0,87,
+0,104,0,105,0,
+108,0,101,0,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,1,117,1,
+2,2,0,1,188,
+331,18,1,188,138,
+2,0,1,1860,332,
+18,1,1860,333,20,
+334,4,22,73,0,
+102,0,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+1,115,1,2,2,
+0,1,1187,335,18,
+1,1187,336,20,337,
+4,24,83,0,76,
+0,65,0,83,0,
+72,0,95,0,69,
+0,81,0,85,0,
+65,0,76,0,83,
+0,1,9,1,1,
+2,0,1,1862,338,
+18,1,1862,158,2,
+0,1,1863,339,18,
+1,1863,340,20,341,
+4,26,74,0,117,
+0,109,0,112,0,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,1,113,
+1,2,2,0,1,
+1864,342,18,1,1864,
+158,2,0,1,1865,
+343,18,1,1865,344,
+20,345,4,18,74,
+0,117,0,109,0,
+112,0,76,0,97,
+0,98,0,101,0,
+108,0,1,112,1,
+2,2,0,1,1866,
+346,18,1,1866,158,
+2,0,1,182,347,
+18,1,182,348,20,
+349,4,22,82,0,
+73,0,71,0,72,
+0,84,0,95,0,
+65,0,78,0,71,
+0,76,0,69,0,
+1,26,1,1,2,
+0,1,1868,350,18,
+1,1868,158,2,0,
+1,1869,351,18,1,
+1869,352,20,353,4,
+20,65,0,115,0,
+115,0,105,0,103,
+0,110,0,109,0,
+101,0,110,0,116,
+0,1,110,1,2,
+2,0,1,199,354,
+18,1,199,355,20,
+356,4,10,67,0,
+65,0,82,0,69,
+0,84,0,1,35,
+1,1,2,0,1,
+1871,357,18,1,1871,
+158,2,0,1,1760,
+358,18,1,1760,291,
+2,0,1,205,359,
+18,1,205,138,2,
+0,1,1327,360,18,
+1,1327,172,2,0,
+1,217,361,18,1,
+217,362,20,363,4,
+12,83,0,84,0,
+82,0,79,0,75,
+0,69,0,1,34,
+1,1,2,0,1,
+2233,364,18,1,2233,
+172,2,0,1,1333,
+365,18,1,1333,138,
+2,0,1,223,366,
+18,1,223,138,2,
+0,1,1298,367,18,
+1,1298,138,2,0,
+1,236,368,18,1,
+236,369,20,370,4,
+6,65,0,77,0,
+80,0,1,33,1,
+1,2,0,1,1849,
+371,18,1,1849,372,
+20,373,4,10,83,
+0,84,0,65,0,
+84,0,69,0,1,
+48,1,1,2,0,
+1,242,374,18,1,
+242,138,2,0,1,
+2258,375,18,1,2258,
+158,2,0,1,1859,
+376,18,1,1859,377,
+20,378,4,28,87,
+0,104,0,105,0,
+108,0,101,0,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,1,116,1,
+2,2,0,1,1861,
+379,18,1,1861,380,
+20,381,4,22,83,
+0,116,0,97,0,
+116,0,101,0,67,
+0,104,0,97,0,
+110,0,103,0,101,
+0,1,114,1,2,
+2,0,1,1366,382,
+18,1,1366,138,2,
+0,1,256,383,18,
+1,256,384,20,385,
+4,14,80,0,69,
+0,82,0,67,0,
+69,0,78,0,84,
+0,1,22,1,1,
+2,0,1,2270,386,
+18,1,2270,387,20,
+388,4,34,71,0,
+108,0,111,0,98,
+0,97,0,108,0,
+68,0,101,0,102,
+0,105,0,110,0,
+105,0,116,0,105,
+0,111,0,110,0,
+115,0,1,96,1,
+2,2,0,1,1870,
+389,18,1,1870,158,
+2,0,1,262,390,
+18,1,262,138,2,
+0,1,827,391,18,
+1,827,138,2,0,
+1,1385,392,18,1,
+1385,158,2,0,1,
+277,393,18,1,277,
+394,20,395,4,10,
+83,0,76,0,65,
+0,83,0,72,0,
+1,21,1,1,2,
+0,1,1396,396,18,
+1,1396,397,20,398,
+4,12,82,0,69,
+0,84,0,85,0,
+82,0,78,0,1,
+50,1,1,2,0,
+1,283,399,18,1,
+283,138,2,0,1,
+1402,400,18,1,1402,
+138,2,0,1,1962,
+401,18,1,1962,352,
+2,0,1,299,402,
+18,1,299,403,20,
+404,4,8,83,0,
+84,0,65,0,82,
+0,1,20,1,1,
+2,0,1,305,405,
+18,1,305,138,2,
+0,1,1867,406,18,
+1,1867,407,20,408,
+4,30,82,0,101,
+0,116,0,117,0,
+114,0,110,0,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,1,111,1,
+2,2,0,1,1431,
+409,18,1,1431,161,
+2,0,1,1432,410,
+18,1,1432,172,2,
+0,1,322,411,18,
+1,322,237,2,0,
+1,1438,412,18,1,
+1438,138,2,0,1,
+883,413,18,1,883,
+138,2,0,1,328,
+414,18,1,328,138,
+2,0,1,346,415,
+18,1,346,416,20,
+417,4,8,80,0,
+76,0,85,0,83,
+0,1,18,1,1,
+2,0,1,352,418,
+18,1,352,138,2,
+0,1,1467,419,18,
+1,1467,158,2,0,
+1,1468,420,18,1,
+1468,421,20,422,4,
+6,70,0,79,0,
+82,0,1,46,1,
+1,2,0,1,1469,
+423,18,1,1469,135,
+2,0,1,2037,424,
+18,1,2037,291,2,
+0,1,2038,425,18,
+1,2038,426,20,427,
+4,22,82,0,73,
+0,71,0,72,0,
+84,0,95,0,66,
+0,82,0,65,0,
+67,0,69,0,1,
+13,1,1,2,0,
+1,1482,428,18,1,
+1482,138,2,0,1,
+2041,429,18,1,2041,
+291,2,0,1,371,
+430,18,1,371,431,
+20,432,4,24,70,
+0,117,0,110,0,
+99,0,116,0,105,
+0,111,0,110,0,
+67,0,97,0,108,
+0,108,0,1,120,
+1,2,2,0,1,
+372,433,18,1,372,
+189,2,0,1,373,
+434,18,1,373,132,
+2,0,1,374,435,
+18,1,374,185,2,
+0,1,375,436,18,
+1,375,132,2,0,
+1,376,437,18,1,
+376,192,2,0,1,
+377,438,18,1,377,
+132,2,0,1,378,
+439,18,1,378,185,
+2,0,1,379,440,
+18,1,379,132,2,
+0,1,380,441,18,
+1,380,442,20,443,
+4,16,67,0,111,
+0,110,0,115,0,
+116,0,97,0,110,
+0,116,0,1,124,
+1,2,2,0,1,
+381,444,18,1,381,
+445,20,446,4,24,
+76,0,69,0,70,
+0,84,0,95,0,
+66,0,82,0,65,
+0,67,0,75,0,
+69,0,84,0,1,
+27,1,1,2,0,
+1,2053,447,18,1,
+2053,448,20,449,4,
+22,84,0,73,0,
+77,0,69,0,82,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,87,
+1,1,2,0,1,
+383,450,18,1,383,
+451,20,452,4,24,
+65,0,114,0,103,
+0,117,0,109,0,
+101,0,110,0,116,
+0,76,0,105,0,
+115,0,116,0,1,
+121,1,2,2,0,
+1,384,453,18,1,
+384,152,2,0,1,
+942,454,18,1,942,
+138,2,0,1,386,
+455,18,1,386,144,
+2,0,1,2058,456,
+18,1,2058,457,20,
+458,4,34,82,0,
+69,0,77,0,79,
+0,84,0,69,0,
+95,0,68,0,65,
+0,84,0,65,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,82,1,
+1,2,0,1,2059,
+459,18,1,2059,460,
+20,461,4,24,79,
+0,78,0,95,0,
+82,0,69,0,90,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,81,
+1,1,2,0,1,
+2060,462,18,1,2060,
+463,20,464,4,32,
+79,0,66,0,74,
+0,69,0,67,0,
+84,0,95,0,82,
+0,69,0,90,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,80,1,
+1,2,0,1,2061,
+465,18,1,2061,466,
+20,467,4,38,78,
+0,79,0,84,0,
+95,0,65,0,84,
+0,95,0,84,0,
+65,0,82,0,71,
+0,69,0,84,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,79,1,
+1,2,0,1,2062,
+468,18,1,2062,469,
+20,470,4,46,78,
+0,79,0,84,0,
+95,0,65,0,84,
+0,95,0,82,0,
+79,0,84,0,95,
+0,84,0,65,0,
+82,0,71,0,69,
+0,84,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,78,1,1,2,
+0,1,2063,471,18,
+1,2063,472,20,473,
+4,30,78,0,79,
+0,95,0,83,0,
+69,0,78,0,83,
+0,79,0,82,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,77,1,
+1,2,0,1,2064,
+474,18,1,2064,475,
+20,476,4,36,77,
+0,79,0,86,0,
+73,0,78,0,71,
+0,95,0,83,0,
+84,0,65,0,82,
+0,84,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,76,1,1,2,
+0,1,2065,477,18,
+1,2065,478,20,479,
+4,32,77,0,79,
+0,86,0,73,0,
+78,0,71,0,95,
+0,69,0,78,0,
+68,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+75,1,1,2,0,
+1,2066,480,18,1,
+2066,481,20,482,4,
+22,77,0,79,0,
+78,0,69,0,89,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,74,
+1,1,2,0,1,
+2067,483,18,1,2067,
+484,20,485,4,24,
+76,0,73,0,83,
+0,84,0,69,0,
+78,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+73,1,1,2,0,
+1,1511,486,18,1,
+1511,161,2,0,1,
+2069,487,18,1,2069,
+488,20,489,4,52,
+76,0,65,0,78,
+0,68,0,95,0,
+67,0,79,0,76,
+0,76,0,73,0,
+83,0,73,0,79,
+0,78,0,95,0,
+83,0,84,0,65,
+0,82,0,84,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,71,1,
+1,2,0,1,1513,
+490,18,1,1513,491,
+20,492,4,32,70,
+0,111,0,114,0,
+76,0,111,0,111,
+0,112,0,83,0,
+116,0,97,0,116,
+0,101,0,109,0,
+101,0,110,0,116,
+0,1,119,1,2,
+2,0,1,1514,493,
+18,1,1514,152,2,
+0,1,2072,494,18,
+1,2072,495,20,496,
+4,38,72,0,84,
+0,84,0,80,0,
+95,0,82,0,69,
+0,83,0,80,0,
+79,0,78,0,83,
+0,69,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,68,1,1,2,
+0,1,2073,497,18,
+1,2073,498,20,499,
+4,22,69,0,77,
+0,65,0,73,0,
+76,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+67,1,1,2,0,
+1,403,500,18,1,
+403,138,2,0,1,
+2075,501,18,1,2075,
+502,20,503,4,26,
+67,0,79,0,78,
+0,84,0,82,0,
+79,0,76,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,65,1,1,
+2,0,1,2076,504,
+18,1,2076,505,20,
+506,4,42,67,0,
+79,0,76,0,76,
+0,73,0,83,0,
+73,0,79,0,78,
+0,95,0,83,0,
+84,0,65,0,82,
+0,84,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,64,1,1,2,
+0,1,2077,507,18,
+1,2077,508,20,509,
+4,38,67,0,79,
+0,76,0,76,0,
+73,0,83,0,73,
+0,79,0,78,0,
+95,0,69,0,78,
+0,68,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,63,1,1,2,
+0,1,2078,510,18,
+1,2078,511,20,512,
+4,30,67,0,79,
+0,76,0,76,0,
+73,0,83,0,73,
+0,79,0,78,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,62,1,
+1,2,0,1,2079,
+513,18,1,2079,514,
+20,515,4,26,67,
+0,72,0,65,0,
+78,0,71,0,69,
+0,68,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,61,1,1,2,
+0,1,2080,516,18,
+1,2080,517,20,518,
+4,24,65,0,84,
+0,84,0,65,0,
+67,0,72,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,60,1,1,
+2,0,1,2081,519,
+18,1,2081,520,20,
+521,4,30,65,0,
+84,0,95,0,84,
+0,65,0,82,0,
+71,0,69,0,84,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,59,
+1,1,2,0,1,
+397,522,18,1,397,
+304,2,0,1,2083,
+523,18,1,2083,524,
+20,525,4,10,69,
+0,118,0,101,0,
+110,0,116,0,1,
+106,1,2,2,0,
+1,1527,526,18,1,
+1527,138,2,0,1,
+422,527,18,1,422,
+152,2,0,1,2095,
+528,18,1,2095,155,
+2,0,1,2097,529,
+18,1,2097,288,2,
+0,1,428,530,18,
+1,428,138,2,0,
+1,2043,531,18,1,
+2043,426,2,0,1,
+2045,532,18,1,2045,
+288,2,0,1,2046,
+533,18,1,2046,161,
+2,0,1,2047,534,
+18,1,2047,372,2,
+0,1,1557,535,18,
+1,1557,352,2,0,
+1,1001,536,18,1,
+1001,431,2,0,1,
+1559,537,18,1,1559,
+158,2,0,1,2051,
+538,18,1,2051,539,
+20,540,4,30,84,
+0,79,0,85,0,
+67,0,72,0,95,
+0,69,0,78,0,
+68,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+90,1,1,2,0,
+1,447,541,18,1,
+447,152,2,0,1,
+2054,542,18,1,2054,
+543,20,544,4,32,
+83,0,84,0,65,
+0,84,0,69,0,
+95,0,69,0,88,
+0,73,0,84,0,
+95,0,69,0,86,
+0,69,0,78,0,
+84,0,1,86,1,
+1,2,0,1,1993,
+545,18,1,1993,546,
+20,547,4,26,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,76,0,105,
+0,115,0,116,0,
+1,108,1,2,2,
+0,1,1565,548,18,
+1,1565,138,2,0,
+1,2057,549,18,1,
+2057,550,20,551,4,
+52,82,0,85,0,
+78,0,95,0,84,
+0,73,0,77,0,
+69,0,95,0,80,
+0,69,0,82,0,
+77,0,73,0,83,
+0,83,0,73,0,
+79,0,78,0,83,
+0,95,0,69,0,
+86,0,69,0,78,
+0,84,0,1,83,
+1,1,2,0,1,
+1010,552,18,1,1010,
+138,2,0,1,1011,
+553,18,1,1011,155,
+2,0,1,463,554,
+18,1,463,348,2,
+0,1,2135,555,18,
+1,2135,426,2,0,
+1,2070,556,18,1,
+2070,557,20,558,4,
+48,76,0,65,0,
+78,0,68,0,95,
+0,67,0,79,0,
+76,0,76,0,73,
+0,83,0,73,0,
+79,0,78,0,95,
+0,69,0,78,0,
+68,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+70,1,1,2,0,
+1,2071,559,18,1,
+2071,560,20,561,4,
+40,76,0,65,0,
+78,0,68,0,95,
+0,67,0,79,0,
+76,0,76,0,73,
+0,83,0,73,0,
+79,0,78,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,69,1,1,
+2,0,1,2138,562,
+18,1,2138,165,2,
+0,1,453,563,18,
+1,453,138,2,0,
+1,1584,564,18,1,
+1584,158,2,0,1,
+476,565,18,1,476,
+566,20,567,4,30,
+83,0,84,0,82,
+0,73,0,78,0,
+71,0,95,0,67,
+0,79,0,78,0,
+83,0,84,0,65,
+0,78,0,84,0,
+1,3,1,1,2,
+0,1,477,568,18,
+1,477,569,20,570,
+4,28,70,0,76,
+0,79,0,65,0,
+84,0,95,0,67,
+0,79,0,78,0,
+83,0,84,0,65,
+0,78,0,84,0,
+1,94,1,1,2,
+0,1,478,571,18,
+1,478,572,20,573,
+4,40,72,0,69,
+0,88,0,95,0,
+73,0,78,0,84,
+0,69,0,71,0,
+69,0,82,0,95,
+0,67,0,79,0,
+78,0,83,0,84,
+0,65,0,78,0,
+84,0,1,93,1,
+1,2,0,1,479,
+574,18,1,479,575,
+20,576,4,32,73,
+0,78,0,84,0,
+69,0,71,0,69,
+0,82,0,95,0,
+67,0,79,0,78,
+0,83,0,84,0,
+65,0,78,0,84,
+0,1,92,1,1,
+2,0,1,2084,577,
+18,1,2084,135,2,
+0,1,488,578,18,
+1,488,152,2,0,
+1,1046,579,18,1,
+1046,138,2,0,1,
+494,580,18,1,494,
+138,2,0,1,1609,
+581,18,1,1609,491,
+2,0,1,1611,582,
+18,1,1611,155,2,
+0,1,2173,583,18,
+1,2173,216,2,0,
+1,504,584,18,1,
+504,348,2,0,1,
+2048,585,18,1,2048,
+132,2,0,1,2049,
+586,18,1,2049,165,
+2,0,1,1002,587,
+18,1,1002,442,2,
+0,1,2052,588,18,
+1,2052,589,20,590,
+4,22,84,0,79,
+0,85,0,67,0,
+72,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+88,1,1,2,0,
+1,2055,591,18,1,
+2055,592,20,593,4,
+34,83,0,84,0,
+65,0,84,0,69,
+0,95,0,69,0,
+78,0,84,0,82,
+0,89,0,95,0,
+69,0,86,0,69,
+0,78,0,84,0,
+1,85,1,1,2,
+0,1,2056,594,18,
+1,2056,595,20,596,
+4,24,83,0,69,
+0,78,0,83,0,
+79,0,82,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,84,1,1,
+2,0,1,1637,597,
+18,1,1637,291,2,
+0,1,1639,598,18,
+1,1639,599,20,600,
+4,4,68,0,79,
+0,1,44,1,1,
+2,0,1,2068,601,
+18,1,2068,602,20,
+603,4,36,76,0,
+73,0,78,0,75,
+0,95,0,77,0,
+69,0,83,0,83,
+0,65,0,71,0,
+69,0,95,0,69,
+0,86,0,69,0,
+78,0,84,0,1,
+72,1,1,2,0,
+1,2134,604,18,1,
+2134,605,20,606,4,
+20,83,0,116,0,
+97,0,116,0,101,
+0,69,0,118,0,
+101,0,110,0,116,
+0,1,102,1,2,
+2,0,1,2136,607,
+18,1,2136,605,2,
+0,1,2137,608,18,
+1,2137,313,2,0,
+1,1092,609,18,1,
+1092,451,2,0,1,
+1094,610,18,1,1094,
+155,2,0,1,2209,
+611,18,1,2209,426,
+2,0,1,2211,612,
+18,1,2211,198,2,
+0,1,2214,613,18,
+1,2214,614,20,615,
+4,10,83,0,116,
+0,97,0,116,0,
+101,0,1,100,1,
+2,2,0,1,2215,
+616,18,1,2215,614,
+2,0,1,2082,617,
+18,1,2082,618,20,
+619,4,38,65,0,
+84,0,95,0,82,
+0,79,0,84,0,
+95,0,84,0,65,
+0,82,0,71,0,
+69,0,84,0,95,
+0,69,0,86,0,
+69,0,78,0,84,
+0,1,58,1,1,
+2,0,1,2217,620,
+18,1,2217,135,2,
+0,1,1666,621,18,
+1,1666,291,2,0,
+1,1667,622,18,1,
+1667,168,2,0,1,
+1111,623,18,1,1111,
+185,2,0,1,1112,
+624,18,1,1112,132,
+2,0,1,2093,625,
+18,1,2093,149,2,
+0,626,5,0,627,
+5,295,1,2,628,
+19,281,1,2,629,
+5,6,1,2211,630,
+17,631,15,632,4,
+30,37,0,76,0,
+83,0,76,0,80,
+0,114,0,111,0,
+103,0,114,0,97,
+0,109,0,82,0,
+111,0,111,0,116,
+0,1,-1,1,5,
+633,20,634,4,32,
+76,0,83,0,76,
+0,80,0,114,0,
+111,0,103,0,114,
+0,97,0,109,0,
+82,0,111,0,111,
+0,116,0,95,0,
+50,0,1,140,1,
+3,1,2,1,1,
+635,22,1,2,1,
+2135,636,17,637,15,
+638,4,12,37,0,
+83,0,116,0,97,
+0,116,0,101,0,
+1,-1,1,5,639,
+20,640,4,14,83,
+0,116,0,97,0,
+116,0,101,0,95,
+0,50,0,1,152,
+1,3,1,6,1,
+5,641,22,1,14,
+1,2214,642,17,643,
+15,644,4,14,37,
+0,83,0,116,0,
+97,0,116,0,101,
+0,115,0,1,-1,
+1,5,645,20,646,
+4,16,83,0,116,
+0,97,0,116,0,
+101,0,115,0,95,
+0,50,0,1,150,
+1,3,1,3,1,
+2,647,22,1,12,
+1,2281,648,17,649,
+15,632,1,-1,1,
+5,650,20,651,4,
+32,76,0,83,0,
+76,0,80,0,114,
+0,111,0,103,0,
+114,0,97,0,109,
+0,82,0,111,0,
+111,0,116,0,95,
+0,49,0,1,139,
+1,3,1,3,1,
+2,652,22,1,1,
+1,2215,653,17,654,
+15,644,1,-1,1,
+5,655,20,656,4,
+16,83,0,116,0,
+97,0,116,0,101,
+0,115,0,95,0,
+49,0,1,149,1,
+3,1,2,1,1,
+657,22,1,11,1,
+2209,658,17,659,15,
+638,1,-1,1,5,
+660,20,661,4,14,
+83,0,116,0,97,
+0,116,0,101,0,
+95,0,49,0,1,
+151,1,3,1,5,
+1,4,662,22,1,
+13,1,3,663,19,
+567,1,3,664,5,
+79,1,1584,665,16,
+0,565,1,1639,666,
+16,0,565,1,1637,
+667,17,668,15,669,
+4,16,37,0,70,
+0,111,0,114,0,
+76,0,111,0,111,
+0,112,0,1,-1,
+1,5,670,20,671,
+4,18,70,0,111,
+0,114,0,76,0,
+111,0,111,0,112,
+0,95,0,49,0,
+1,183,1,3,1,
+10,1,9,672,22,
+1,47,1,112,673,
+16,0,565,1,1857,
+674,17,675,15,676,
+4,20,37,0,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,1,-1,1,
+5,677,20,678,4,
+24,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,49,0,49,0,
+1,173,1,3,1,
+2,1,1,679,22,
+1,37,1,1858,680,
+17,681,15,676,1,
+-1,1,5,682,20,
+683,4,24,83,0,
+116,0,97,0,116,
+0,101,0,109,0,
+101,0,110,0,116,
+0,95,0,49,0,
+48,0,1,172,1,
+3,1,2,1,1,
+684,22,1,36,1,
+1859,685,17,686,15,
+676,1,-1,1,5,
+687,20,688,4,22,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,95,0,
+57,0,1,171,1,
+3,1,2,1,1,
+689,22,1,35,1,
+1860,690,17,691,15,
+676,1,-1,1,5,
+692,20,693,4,22,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,95,0,
+56,0,1,170,1,
+3,1,2,1,1,
+694,22,1,34,1,
+1611,695,16,0,565,
+1,1862,696,17,697,
+15,676,1,-1,1,
+5,698,20,699,4,
+22,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,55,0,1,169,
+1,3,1,3,1,
+2,700,22,1,33,
+1,1864,701,17,702,
+15,676,1,-1,1,
+5,703,20,704,4,
+22,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,54,0,1,168,
+1,3,1,3,1,
+2,705,22,1,32,
+1,1866,706,17,707,
+15,676,1,-1,1,
+5,708,20,709,4,
+22,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,53,0,1,167,
+1,3,1,3,1,
+2,710,22,1,31,
+1,2043,711,17,712,
+15,713,4,36,37,
+0,67,0,111,0,
+109,0,112,0,111,
+0,117,0,110,0,
+100,0,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+1,-1,1,5,714,
+20,715,4,38,67,
+0,111,0,109,0,
+112,0,111,0,117,
+0,110,0,100,0,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,95,0,
+49,0,1,159,1,
+3,1,3,1,2,
+716,22,1,22,1,
+124,717,16,0,565,
+1,1760,718,17,719,
+15,720,4,30,37,
+0,87,0,104,0,
+105,0,108,0,101,
+0,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,1,
+-1,1,5,721,20,
+722,4,32,87,0,
+104,0,105,0,108,
+0,101,0,83,0,
+116,0,97,0,116,
+0,101,0,109,0,
+101,0,110,0,116,
+0,95,0,49,0,
+1,181,1,3,1,
+6,1,5,723,22,
+1,45,1,1870,724,
+17,725,15,676,1,
+-1,1,5,726,20,
+727,4,22,83,0,
+116,0,97,0,116,
+0,101,0,109,0,
+101,0,110,0,116,
+0,95,0,50,0,
+1,164,1,3,1,
+3,1,2,728,22,
+1,28,1,1871,729,
+17,730,15,676,1,
+-1,1,5,291,1,
+1,1,1,731,22,
+1,26,1,1763,732,
+16,0,565,1,1222,
+733,16,0,565,1,
+1993,734,16,0,565,
+1,1115,735,16,0,
+565,1,447,736,16,
+0,565,1,1187,737,
+16,0,565,1,137,
+738,16,0,565,1,
+2038,739,17,740,15,
+713,1,-1,1,5,
+741,20,742,4,38,
+67,0,111,0,109,
+0,112,0,111,0,
+117,0,110,0,100,
+0,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,50,0,1,160,
+1,3,1,4,1,
+3,743,22,1,23,
+1,346,744,16,0,
+565,1,32,745,16,
+0,565,1,1668,746,
+16,0,565,1,2041,
+747,17,748,15,749,
+4,28,37,0,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,76,0,105,
+0,115,0,116,0,
+1,-1,1,5,750,
+20,751,4,30,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,76,0,105,
+0,115,0,116,0,
+95,0,49,0,1,
+161,1,3,1,2,
+1,1,752,22,1,
+24,1,236,753,16,
+0,565,1,1514,754,
+16,0,565,1,256,
+755,16,0,565,1,
+41,756,16,0,565,
+1,151,757,16,0,
+565,1,43,758,16,
+0,565,1,1732,759,
+16,0,565,1,384,
+760,16,0,565,1,
+1467,761,17,762,15,
+676,1,-1,1,5,
+763,20,764,4,22,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,95,0,
+49,0,1,163,1,
+3,1,3,1,2,
+765,22,1,27,1,
+52,766,16,0,565,
+1,2233,767,16,0,
+565,1,381,768,16,
+0,565,1,166,769,
+16,0,565,1,1257,
+770,16,0,565,1,
+1694,771,17,772,15,
+773,4,34,37,0,
+68,0,111,0,87,
+0,104,0,105,0,
+108,0,101,0,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,1,-1,1,
+5,774,20,775,4,
+36,68,0,111,0,
+87,0,104,0,105,
+0,108,0,101,0,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,95,0,
+49,0,1,182,1,
+3,1,8,1,7,
+776,22,1,46,1,
+1432,777,16,0,565,
+1,1152,778,16,0,
+565,1,1856,779,17,
+780,15,676,1,-1,
+1,5,781,20,782,
+4,24,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+95,0,49,0,50,
+0,1,174,1,3,
+1,2,1,1,783,
+22,1,38,1,62,
+784,16,0,565,1,
+504,785,16,0,565,
+1,277,786,16,0,
+565,1,397,787,16,
+0,565,1,71,788,
+16,0,565,1,1707,
+789,16,0,565,1,
+1817,790,17,791,15,
+792,4,24,37,0,
+73,0,102,0,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,1,-1,1,
+5,793,20,794,4,
+26,73,0,102,0,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,95,0,
+49,0,1,179,1,
+3,1,6,1,5,
+795,22,1,43,1,
+1818,796,16,0,565,
+1,1868,797,17,798,
+15,676,1,-1,1,
+5,799,20,800,4,
+22,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,52,0,1,166,
+1,3,1,3,1,
+2,801,22,1,30,
+1,76,802,16,0,
+565,1,1385,803,17,
+804,15,676,1,-1,
+1,5,805,20,806,
+4,22,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+95,0,51,0,1,
+165,1,3,1,3,
+1,2,807,22,1,
+29,1,79,808,16,
+0,565,1,182,809,
+16,0,565,1,299,
+810,16,0,565,1,
+1559,811,16,0,565,
+1,85,812,16,0,
+565,1,488,813,16,
+0,565,1,1396,814,
+16,0,565,1,89,
+815,16,0,565,1,
+199,816,16,0,565,
+1,463,817,16,0,
+565,1,1292,818,16,
+0,565,1,422,819,
+16,0,565,1,2037,
+820,17,821,15,749,
+1,-1,1,5,822,
+20,823,4,30,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,76,0,105,
+0,115,0,116,0,
+95,0,50,0,1,
+162,1,3,1,3,
+1,2,824,22,1,
+25,1,97,825,16,
+0,565,1,1469,826,
+16,0,565,1,1788,
+827,16,0,565,1,
+102,828,16,0,565,
+1,1847,829,17,830,
+15,792,1,-1,1,
+5,831,20,832,4,
+26,73,0,102,0,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,95,0,
+50,0,1,180,1,
+3,1,8,1,7,
+833,22,1,44,1,
+322,834,16,0,565,
+1,1327,835,16,0,
+565,1,217,836,16,
+0,565,1,4,837,
+19,193,1,4,838,
+5,84,1,1257,839,
+16,0,437,1,1760,
+718,1,256,840,16,
+0,437,1,1763,841,
+16,0,437,1,1514,
+842,16,0,437,1,
+504,843,16,0,437,
+1,277,844,16,0,
+437,1,2037,820,1,
+2038,739,1,1788,845,
+16,0,437,1,32,
+846,16,0,437,1,
+2041,747,1,2043,711,
+1,1292,847,16,0,
+437,1,40,848,16,
+0,195,1,41,849,
+16,0,437,1,43,
+850,16,0,437,1,
+44,851,16,0,195,
+1,47,852,16,0,
+191,1,299,853,16,
+0,437,1,52,854,
+16,0,437,1,1559,
+855,16,0,437,1,
+1817,790,1,1818,856,
+16,0,437,1,63,
+857,16,0,213,1,
+66,858,16,0,211,
+1,71,859,16,0,
+437,1,1327,860,16,
+0,437,1,76,861,
+16,0,437,1,1584,
+862,16,0,437,1,
+79,863,16,0,437,
+1,322,864,16,0,
+437,1,85,865,16,
+0,437,1,89,866,
+16,0,437,1,1847,
+829,1,346,867,16,
+0,437,1,97,868,
+16,0,437,1,1856,
+779,1,1857,674,1,
+1858,680,1,1859,685,
+1,1860,690,1,1862,
+696,1,1864,701,1,
+1112,869,16,0,191,
+1,1866,706,1,1115,
+870,16,0,437,1,
+112,871,16,0,437,
+1,1870,724,1,1871,
+729,1,102,872,16,
+0,437,1,124,873,
+16,0,437,1,381,
+874,16,0,437,1,
+1637,667,1,384,875,
+16,0,437,1,137,
+876,16,0,437,1,
+1396,877,16,0,437,
+1,397,878,16,0,
+437,1,1152,879,16,
+0,437,1,151,880,
+16,0,437,1,1611,
+881,16,0,437,1,
+1668,882,16,0,437,
+1,166,883,16,0,
+437,1,1868,797,1,
+1385,803,1,1432,884,
+16,0,437,1,182,
+885,16,0,437,1,
+1187,886,16,0,437,
+1,422,887,16,0,
+437,1,1694,771,1,
+447,888,16,0,437,
+1,199,889,16,0,
+437,1,1707,890,16,
+0,437,1,1467,761,
+1,1469,891,16,0,
+437,1,217,892,16,
+0,437,1,1222,893,
+16,0,437,1,2233,
+894,16,0,437,1,
+1732,895,16,0,437,
+1,463,896,16,0,
+437,1,1993,897,16,
+0,437,1,488,898,
+16,0,437,1,1639,
+899,16,0,437,1,
+236,900,16,0,437,
+1,5,901,19,190,
+1,5,902,5,84,
+1,1257,903,16,0,
+433,1,1760,718,1,
+256,904,16,0,433,
+1,1763,905,16,0,
+433,1,1514,906,16,
+0,433,1,504,907,
+16,0,433,1,277,
+908,16,0,433,1,
+2037,820,1,2038,739,
+1,1788,909,16,0,
+433,1,32,910,16,
+0,433,1,2041,747,
+1,2043,711,1,1292,
+911,16,0,433,1,
+40,912,16,0,194,
+1,41,913,16,0,
+433,1,43,914,16,
+0,433,1,44,915,
+16,0,194,1,47,
+916,16,0,188,1,
+299,917,16,0,433,
+1,52,918,16,0,
+433,1,1559,919,16,
+0,433,1,1817,790,
+1,1818,920,16,0,
+433,1,63,921,16,
+0,212,1,66,922,
+16,0,210,1,71,
+923,16,0,433,1,
+1327,924,16,0,433,
+1,76,925,16,0,
+433,1,1584,926,16,
+0,433,1,79,927,
+16,0,433,1,322,
+928,16,0,433,1,
+85,929,16,0,433,
+1,89,930,16,0,
+433,1,1847,829,1,
+346,931,16,0,433,
+1,97,932,16,0,
+433,1,1856,779,1,
+1857,674,1,1858,680,
+1,1859,685,1,1860,
+690,1,1862,696,1,
+1864,701,1,1112,933,
+16,0,188,1,1866,
+706,1,1115,934,16,
+0,433,1,112,935,
+16,0,433,1,1870,
+724,1,1871,729,1,
+102,936,16,0,433,
+1,124,937,16,0,
+433,1,381,938,16,
+0,433,1,1637,667,
+1,384,939,16,0,
+433,1,137,940,16,
+0,433,1,1396,941,
+16,0,433,1,397,
+942,16,0,433,1,
+1152,943,16,0,433,
+1,151,944,16,0,
+433,1,1611,945,16,
+0,433,1,1668,946,
+16,0,433,1,166,
+947,16,0,433,1,
+1868,797,1,1385,803,
+1,1432,948,16,0,
+433,1,182,949,16,
+0,433,1,1187,950,
+16,0,433,1,422,
+951,16,0,433,1,
+1694,771,1,447,952,
+16,0,433,1,199,
+953,16,0,433,1,
+1707,954,16,0,433,
+1,1467,761,1,1469,
+955,16,0,433,1,
+217,956,16,0,433,
+1,1222,957,16,0,
+433,1,2233,958,16,
+0,433,1,1732,959,
+16,0,433,1,463,
+960,16,0,433,1,
+1993,961,16,0,433,
+1,488,962,16,0,
+433,1,1639,963,16,
+0,433,1,236,964,
+16,0,433,1,6,
+965,19,311,1,6,
+966,5,1,1,40,
+967,16,0,309,1,
+7,968,19,286,1,
+7,969,5,1,1,
+40,970,16,0,284,
+1,8,971,19,255,
+1,8,972,5,1,
+1,40,973,16,0,
+253,1,9,974,19,
+337,1,9,975,5,
+1,1,40,976,16,
+0,335,1,10,977,
+19,176,1,10,978,
+5,1,1,40,979,
+16,0,174,1,11,
+980,19,159,1,11,
+981,5,114,1,504,
+982,17,983,15,984,
+4,34,37,0,82,
+0,111,0,116,0,
+97,0,116,0,105,
+0,111,0,110,0,
+67,0,111,0,110,
+0,115,0,116,0,
+97,0,110,0,116,
+0,1,-1,1,5,
+985,20,986,4,36,
+82,0,111,0,116,
+0,97,0,116,0,
+105,0,111,0,110,
+0,67,0,111,0,
+110,0,115,0,116,
+0,97,0,110,0,
+116,0,95,0,49,
+0,1,203,1,3,
+1,10,1,9,987,
+22,1,67,1,1760,
+718,1,1513,988,16,
+0,537,1,1263,989,
+17,990,15,991,4,
+22,37,0,65,0,
+115,0,115,0,105,
+0,103,0,110,0,
+109,0,101,0,110,
+0,116,0,1,-1,
+1,5,992,20,993,
+4,24,65,0,115,
+0,115,0,105,0,
+103,0,110,0,109,
+0,101,0,110,0,
+116,0,95,0,52,
+0,1,191,1,3,
+1,4,1,3,994,
+22,1,55,1,9,
+995,17,996,15,997,
+4,24,37,0,68,
+0,101,0,99,0,
+108,0,97,0,114,
+0,97,0,116,0,
+105,0,111,0,110,
+0,1,-1,1,5,
+998,20,999,4,26,
+68,0,101,0,99,
+0,108,0,97,0,
+114,0,97,0,116,
+0,105,0,111,0,
+110,0,95,0,49,
+0,1,158,1,3,
+1,3,1,2,1000,
+22,1,21,1,262,
+1001,17,1002,15,1003,
+4,34,37,0,66,
+0,105,0,110,0,
+97,0,114,0,121,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,1,-1,1,5,
+1004,20,1005,4,36,
+66,0,105,0,110,
+0,97,0,114,0,
+121,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,95,0,53,
+0,1,221,1,3,
+1,4,1,3,1006,
+22,1,85,1,19,
+1007,17,996,1,2,
+1000,1,1527,1008,17,
+1009,15,1010,4,34,
+37,0,70,0,111,
+0,114,0,76,0,
+111,0,111,0,112,
+0,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,1,
+-1,1,5,1011,20,
+1012,4,36,70,0,
+111,0,114,0,76,
+0,111,0,111,0,
+112,0,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+95,0,51,0,1,
+186,1,3,1,4,
+1,3,1013,22,1,
+50,1,477,1014,17,
+1015,15,1016,4,18,
+37,0,67,0,111,
+0,110,0,115,0,
+116,0,97,0,110,
+0,116,0,1,-1,
+1,5,1017,20,1018,
+4,20,67,0,111,
+0,110,0,115,0,
+116,0,97,0,110,
+0,116,0,95,0,
+51,0,1,200,1,
+3,1,2,1,1,
+1019,22,1,64,1,
+2037,820,1,2038,739,
+1,1788,1020,16,0,
+357,1,32,1021,16,
+0,357,1,2041,747,
+1,2043,711,1,40,
+1022,17,1023,15,1024,
+4,32,37,0,73,
+0,100,0,101,0,
+110,0,116,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,1,
+-1,1,5,1025,20,
+1026,4,34,73,0,
+100,0,101,0,110,
+0,116,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+49,0,1,206,1,
+3,1,2,1,1,
+1027,22,1,70,1,
+283,1028,17,1029,15,
+1003,1,-1,1,5,
+1030,20,1031,4,36,
+66,0,105,0,110,
+0,97,0,114,0,
+121,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,95,0,52,
+0,1,220,1,3,
+1,4,1,3,1032,
+22,1,84,1,1298,
+1033,17,1034,15,991,
+1,-1,1,5,1035,
+20,1036,4,24,65,
+0,115,0,115,0,
+105,0,103,0,110,
+0,109,0,101,0,
+110,0,116,0,95,
+0,51,0,1,190,
+1,3,1,4,1,
+3,1037,22,1,54,
+1,44,1038,17,1023,
+1,1,1027,1,47,
+1039,17,1040,15,1041,
+4,38,37,0,73,
+0,100,0,101,0,
+110,0,116,0,68,
+0,111,0,116,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+1,-1,1,5,1042,
+20,1043,4,40,73,
+0,100,0,101,0,
+110,0,116,0,68,
+0,111,0,116,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,49,0,1,
+207,1,3,1,4,
+1,3,1044,22,1,
+71,1,48,1045,17,
+1046,15,1047,4,58,
+37,0,73,0,110,
+0,99,0,114,0,
+101,0,109,0,101,
+0,110,0,116,0,
+68,0,101,0,99,
+0,114,0,101,0,
+109,0,101,0,110,
+0,116,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,1,-1,
+1,5,1048,20,1049,
+4,60,73,0,110,
+0,99,0,114,0,
+101,0,109,0,101,
+0,110,0,116,0,
+68,0,101,0,99,
+0,114,0,101,0,
+109,0,101,0,110,
+0,116,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+52,0,1,211,1,
+3,1,5,1,4,
+1050,22,1,75,1,
+49,1051,17,1052,15,
+1047,1,-1,1,5,
+1053,20,1054,4,60,
+73,0,110,0,99,
+0,114,0,101,0,
+109,0,101,0,110,
+0,116,0,68,0,
+101,0,99,0,114,
+0,101,0,109,0,
+101,0,110,0,116,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,51,0,
+1,210,1,3,1,
+5,1,4,1055,22,
+1,74,1,50,1056,
+17,1057,15,1047,1,
+-1,1,5,1058,20,
+1059,4,60,73,0,
+110,0,99,0,114,
+0,101,0,109,0,
+101,0,110,0,116,
+0,68,0,101,0,
+99,0,114,0,101,
+0,109,0,101,0,
+110,0,116,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,95,
+0,50,0,1,209,
+1,3,1,3,1,
+2,1060,22,1,73,
+1,51,1061,17,1062,
+15,1047,1,-1,1,
+5,1063,20,1064,4,
+60,73,0,110,0,
+99,0,114,0,101,
+0,109,0,101,0,
+110,0,116,0,68,
+0,101,0,99,0,
+114,0,101,0,109,
+0,101,0,110,0,
+116,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,95,0,49,
+0,1,208,1,3,
+1,3,1,2,1065,
+22,1,72,1,305,
+1066,17,1067,15,1003,
+1,-1,1,5,1068,
+20,1069,4,36,66,
+0,105,0,110,0,
+97,0,114,0,121,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,51,0,
+1,219,1,3,1,
+4,1,3,1070,22,
+1,83,1,1565,1071,
+16,0,564,1,1817,
+790,1,1818,1072,16,
+0,357,1,63,1073,
+17,1074,15,1075,4,
+38,37,0,84,0,
+121,0,112,0,101,
+0,99,0,97,0,
+115,0,116,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,1,
+-1,1,5,1076,20,
+1077,4,40,84,0,
+121,0,112,0,101,
+0,99,0,97,0,
+115,0,116,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,95,
+0,50,0,1,240,
+1,3,1,5,1,
+4,1078,22,1,104,
+1,66,1079,17,1080,
+15,1075,1,-1,1,
+5,1081,20,1082,4,
+40,84,0,121,0,
+112,0,101,0,99,
+0,97,0,115,0,
+116,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,95,0,51,
+0,1,241,1,3,
+1,7,1,6,1083,
+22,1,105,1,67,
+1084,17,1085,15,1075,
+1,-1,1,5,1086,
+20,1087,4,40,84,
+0,121,0,112,0,
+101,0,99,0,97,
+0,115,0,116,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,55,0,1,
+245,1,3,1,8,
+1,7,1088,22,1,
+109,1,68,1089,17,
+1090,15,1075,1,-1,
+1,5,1091,20,1092,
+4,40,84,0,121,
+0,112,0,101,0,
+99,0,97,0,115,
+0,116,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+53,0,1,243,1,
+3,1,8,1,7,
+1093,22,1,107,1,
+69,1094,17,1095,15,
+1075,1,-1,1,5,
+1096,20,1097,4,40,
+84,0,121,0,112,
+0,101,0,99,0,
+97,0,115,0,116,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,54,0,
+1,244,1,3,1,
+6,1,5,1098,22,
+1,108,1,70,1099,
+17,1100,15,1075,1,
+-1,1,5,1101,20,
+1102,4,40,84,0,
+121,0,112,0,101,
+0,99,0,97,0,
+115,0,116,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,95,
+0,52,0,1,242,
+1,3,1,6,1,
+5,1103,22,1,106,
+1,573,1104,17,1105,
+15,1106,4,26,37,
+0,76,0,105,0,
+115,0,116,0,67,
+0,111,0,110,0,
+115,0,116,0,97,
+0,110,0,116,0,
+1,-1,1,5,1107,
+20,1108,4,28,76,
+0,105,0,115,0,
+116,0,67,0,111,
+0,110,0,115,0,
+116,0,97,0,110,
+0,116,0,95,0,
+49,0,1,204,1,
+3,1,4,1,3,
+1109,22,1,68,1,
+1011,1110,17,1111,15,
+1112,4,44,37,0,
+80,0,97,0,114,
+0,101,0,110,0,
+116,0,104,0,101,
+0,115,0,105,0,
+115,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,1,-1,1,
+5,1113,20,1114,4,
+46,80,0,97,0,
+114,0,101,0,110,
+0,116,0,104,0,
+101,0,115,0,105,
+0,115,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+49,0,1,238,1,
+3,1,4,1,3,
+1115,22,1,102,1,
+74,1116,17,1117,15,
+1075,1,-1,1,5,
+1118,20,1119,4,40,
+84,0,121,0,112,
+0,101,0,99,0,
+97,0,115,0,116,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,57,0,
+1,247,1,3,1,
+7,1,6,1120,22,
+1,111,1,1046,1121,
+17,1122,15,1003,1,
+-1,1,5,1123,20,
+1124,4,38,66,0,
+105,0,110,0,97,
+0,114,0,121,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,49,0,56,
+0,1,234,1,3,
+1,4,1,3,1125,
+22,1,98,1,328,
+1126,17,1127,15,1003,
+1,-1,1,5,1128,
+20,1129,4,36,66,
+0,105,0,110,0,
+97,0,114,0,121,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,50,0,
+1,218,1,3,1,
+4,1,3,1130,22,
+1,82,1,1333,1131,
+17,1132,15,991,1,
+-1,1,5,1133,20,
+1134,4,24,65,0,
+115,0,115,0,105,
+0,103,0,110,0,
+109,0,101,0,110,
+0,116,0,95,0,
+50,0,1,189,1,
+3,1,4,1,3,
+1135,22,1,53,1,
+82,1136,17,1137,15,
+1138,4,32,37,0,
+85,0,110,0,97,
+0,114,0,121,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+1,-1,1,5,1139,
+20,1140,4,34,85,
+0,110,0,97,0,
+114,0,121,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,95,
+0,51,0,1,237,
+1,3,1,3,1,
+2,1141,22,1,101,
+1,1847,829,1,1850,
+1142,17,1143,15,1144,
+4,24,37,0,83,
+0,116,0,97,0,
+116,0,101,0,67,
+0,104,0,97,0,
+110,0,103,0,101,
+0,1,-1,1,5,
+1145,20,1146,4,26,
+83,0,116,0,97,
+0,116,0,101,0,
+67,0,104,0,97,
+0,110,0,103,0,
+101,0,95,0,50,
+0,1,178,1,3,
+1,3,1,2,1147,
+22,1,42,1,1851,
+1148,17,1149,15,1144,
+1,-1,1,5,1150,
+20,1151,4,26,83,
+0,116,0,97,0,
+116,0,101,0,67,
+0,104,0,97,0,
+110,0,103,0,101,
+0,95,0,49,0,
+1,177,1,3,1,
+3,1,2,1152,22,
+1,41,1,1853,1153,
+17,1154,15,1155,4,
+28,37,0,74,0,
+117,0,109,0,112,
+0,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,1,
+-1,1,5,1156,20,
+1157,4,30,74,0,
+117,0,109,0,112,
+0,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,49,0,1,176,
+1,3,1,3,1,
+2,1158,22,1,40,
+1,93,1159,17,1160,
+15,1138,1,-1,1,
+5,1161,20,1162,4,
+34,85,0,110,0,
+97,0,114,0,121,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,50,0,
+1,236,1,3,1,
+3,1,2,1163,22,
+1,100,1,1855,1164,
+17,1165,15,1166,4,
+20,37,0,74,0,
+117,0,109,0,112,
+0,76,0,97,0,
+98,0,101,0,108,
+0,1,-1,1,5,
+1167,20,1168,4,22,
+74,0,117,0,109,
+0,112,0,76,0,
+97,0,98,0,101,
+0,108,0,95,0,
+49,0,1,175,1,
+3,1,3,1,2,
+1169,22,1,39,1,
+1856,779,1,1857,674,
+1,1858,680,1,1859,
+685,1,1860,690,1,
+1861,1170,16,0,338,
+1,1862,696,1,1863,
+1171,16,0,342,1,
+1864,701,1,1865,1172,
+16,0,346,1,1866,
+706,1,1867,1173,16,
+0,350,1,1868,797,
+1,1869,1174,16,0,
+389,1,1870,724,1,
+1871,729,1,2232,1175,
+16,0,262,1,1121,
+1176,17,1177,15,991,
+1,-1,1,5,1178,
+20,1179,4,24,65,
+0,115,0,115,0,
+105,0,103,0,110,
+0,109,0,101,0,
+110,0,116,0,95,
+0,56,0,1,195,
+1,3,1,6,1,
+5,1180,22,1,59,
+1,118,1181,17,1182,
+15,1003,1,-1,1,
+5,1183,20,1184,4,
+38,66,0,105,0,
+110,0,97,0,114,
+0,121,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+49,0,52,0,1,
+230,1,3,1,4,
+1,3,1185,22,1,
+94,1,371,1186,17,
+1187,15,1188,4,46,
+37,0,70,0,117,
+0,110,0,99,0,
+116,0,105,0,111,
+0,110,0,67,0,
+97,0,108,0,108,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,1,-1,1,5,
+1189,20,1190,4,48,
+70,0,117,0,110,
+0,99,0,116,0,
+105,0,111,0,110,
+0,67,0,97,0,
+108,0,108,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,95,
+0,49,0,1,216,
+1,3,1,2,1,
+1,1191,22,1,80,
+1,107,1192,17,1193,
+15,1138,1,-1,1,
+5,1194,20,1195,4,
+34,85,0,110,0,
+97,0,114,0,121,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,49,0,
+1,235,1,3,1,
+3,1,2,1196,22,
+1,99,1,375,1197,
+17,1198,15,1047,1,
+-1,1,5,1199,20,
+1200,4,60,73,0,
+110,0,99,0,114,
+0,101,0,109,0,
+101,0,110,0,116,
+0,68,0,101,0,
+99,0,114,0,101,
+0,109,0,101,0,
+110,0,116,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,95,
+0,56,0,1,215,
+1,3,1,5,1,
+4,1201,22,1,79,
+1,377,1202,17,1203,
+15,1047,1,-1,1,
+5,1204,20,1205,4,
+60,73,0,110,0,
+99,0,114,0,101,
+0,109,0,101,0,
+110,0,116,0,68,
+0,101,0,99,0,
+114,0,101,0,109,
+0,101,0,110,0,
+116,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,95,0,53,
+0,1,212,1,3,
+1,3,1,2,1206,
+22,1,76,1,352,
+1207,17,1208,15,1003,
+1,-1,1,5,1209,
+20,1210,4,36,66,
+0,105,0,110,0,
+97,0,114,0,121,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,49,0,
+1,217,1,3,1,
+4,1,3,1211,22,
+1,81,1,827,1212,
+17,1213,15,1003,1,
+-1,1,5,1214,20,
+1215,4,38,66,0,
+105,0,110,0,97,
+0,114,0,121,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,49,0,53,
+0,1,231,1,3,
+1,4,1,3,1216,
+22,1,95,1,380,
+1217,17,1218,15,1219,
+4,38,37,0,67,
+0,111,0,110,0,
+115,0,116,0,97,
+0,110,0,116,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+1,-1,1,5,1220,
+20,1221,4,40,67,
+0,111,0,110,0,
+115,0,116,0,97,
+0,110,0,116,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,49,0,1,
+205,1,3,1,2,
+1,1,1222,22,1,
+69,1,130,1223,17,
+1224,15,1003,1,-1,
+1,5,1225,20,1226,
+4,38,66,0,105,
+0,110,0,97,0,
+114,0,121,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,95,
+0,49,0,51,0,
+1,229,1,3,1,
+4,1,3,1227,22,
+1,93,1,1637,667,
+1,1639,1228,16,0,
+357,1,373,1229,17,
+1230,15,1047,1,-1,
+1,5,1231,20,1232,
+4,60,73,0,110,
+0,99,0,114,0,
+101,0,109,0,101,
+0,110,0,116,0,
+68,0,101,0,99,
+0,114,0,101,0,
+109,0,101,0,110,
+0,116,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+54,0,1,213,1,
+3,1,3,1,2,
+1233,22,1,77,1,
+1396,1234,17,1235,15,
+1236,4,32,37,0,
+82,0,101,0,116,
+0,117,0,114,0,
+110,0,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+1,-1,1,5,1237,
+20,1238,4,34,82,
+0,101,0,116,0,
+117,0,114,0,110,
+0,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,50,0,1,197,
+1,3,1,2,1,
+1,1239,22,1,61,
+1,143,1240,17,1241,
+15,1003,1,-1,1,
+5,1242,20,1243,4,
+38,66,0,105,0,
+110,0,97,0,114,
+0,121,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+49,0,50,0,1,
+228,1,3,1,4,
+1,3,1244,22,1,
+92,1,1112,1245,17,
+1040,1,3,1044,1,
+1402,1246,17,1247,15,
+1236,1,-1,1,5,
+1248,20,1249,4,34,
+82,0,101,0,116,
+0,117,0,114,0,
+110,0,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+95,0,49,0,1,
+196,1,3,1,3,
+1,2,1250,22,1,
+60,1,1557,1251,17,
+1252,15,1010,1,-1,
+1,5,1253,20,1254,
+4,36,70,0,111,
+0,114,0,76,0,
+111,0,111,0,112,
+0,83,0,116,0,
+97,0,116,0,101,
+0,109,0,101,0,
+110,0,116,0,95,
+0,52,0,1,187,
+1,3,1,4,1,
+3,1255,22,1,51,
+1,1158,1256,17,1257,
+15,991,1,-1,1,
+5,1258,20,1259,4,
+24,65,0,115,0,
+115,0,105,0,103,
+0,110,0,109,0,
+101,0,110,0,116,
+0,95,0,55,0,
+1,194,1,3,1,
+4,1,3,1260,22,
+1,58,1,1366,1261,
+16,0,392,1,157,
+1262,17,1263,15,1003,
+1,-1,1,5,1264,
+20,1265,4,38,66,
+0,105,0,110,0,
+97,0,114,0,121,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,49,0,
+49,0,1,227,1,
+3,1,4,1,3,
+1266,22,1,91,1,
+883,1267,17,1268,15,
+1003,1,-1,1,5,
+1269,20,1270,4,38,
+66,0,105,0,110,
+0,97,0,114,0,
+121,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,95,0,49,
+0,54,0,1,232,
+1,3,1,4,1,
+3,1271,22,1,96,
+1,1094,1272,17,1273,
+15,1274,4,26,37,
+0,70,0,117,0,
+110,0,99,0,116,
+0,105,0,111,0,
+110,0,67,0,97,
+0,108,0,108,0,
+1,-1,1,5,1275,
+20,1276,4,28,70,
+0,117,0,110,0,
+99,0,116,0,105,
+0,111,0,110,0,
+67,0,97,0,108,
+0,108,0,95,0,
+49,0,1,248,1,
+3,1,5,1,4,
+1277,22,1,112,1,
+379,1278,17,1279,15,
+1047,1,-1,1,5,
+1280,20,1281,4,60,
+73,0,110,0,99,
+0,114,0,101,0,
+109,0,101,0,110,
+0,116,0,68,0,
+101,0,99,0,114,
+0,101,0,109,0,
+101,0,110,0,116,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,95,0,55,0,
+1,214,1,3,1,
+5,1,4,1282,22,
+1,78,1,172,1283,
+17,1284,15,1003,1,
+-1,1,5,1285,20,
+1286,4,38,66,0,
+105,0,110,0,97,
+0,114,0,121,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,49,0,48,
+0,1,226,1,3,
+1,4,1,3,1287,
+22,1,90,1,1385,
+803,1,1431,1288,16,
+0,419,1,1438,1289,
+17,1290,15,991,1,
+-1,1,5,1291,20,
+1292,4,24,65,0,
+115,0,115,0,105,
+0,103,0,110,0,
+109,0,101,0,110,
+0,116,0,95,0,
+49,0,1,188,1,
+3,1,4,1,3,
+1293,22,1,52,1,
+1693,1294,16,0,157,
+1,1694,771,1,1193,
+1295,17,1296,15,991,
+1,-1,1,5,1297,
+20,1298,4,24,65,
+0,115,0,115,0,
+105,0,103,0,110,
+0,109,0,101,0,
+110,0,116,0,95,
+0,54,0,1,193,
+1,3,1,4,1,
+3,1299,22,1,57,
+1,188,1300,17,1301,
+15,1003,1,-1,1,
+5,1302,20,1303,4,
+36,66,0,105,0,
+110,0,97,0,114,
+0,121,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+57,0,1,225,1,
+3,1,4,1,3,
+1304,22,1,89,1,
+1962,1305,17,1306,15,
+1010,1,-1,1,5,
+1307,20,1308,4,36,
+70,0,111,0,114,
+0,76,0,111,0,
+111,0,112,0,83,
+0,116,0,97,0,
+116,0,101,0,109,
+0,101,0,110,0,
+116,0,95,0,50,
+0,1,185,1,3,
+1,2,1,1,1309,
+22,1,49,1,1611,
+1310,16,0,357,1,
+1467,761,1,205,1311,
+17,1312,15,1003,1,
+-1,1,5,1313,20,
+1314,4,36,66,0,
+105,0,110,0,97,
+0,114,0,121,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,56,0,1,
+224,1,3,1,4,
+1,3,1315,22,1,
+88,1,942,1316,17,
+1317,15,1003,1,-1,
+1,5,1318,20,1319,
+4,38,66,0,105,
+0,110,0,97,0,
+114,0,121,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,95,
+0,49,0,55,0,
+1,233,1,3,1,
+4,1,3,1320,22,
+1,97,1,223,1321,
+17,1322,15,1003,1,
+-1,1,5,1323,20,
+1324,4,36,66,0,
+105,0,110,0,97,
+0,114,0,121,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,55,0,1,
+223,1,3,1,4,
+1,3,1325,22,1,
+87,1,1228,1326,17,
+1327,15,991,1,-1,
+1,5,1328,20,1329,
+4,24,65,0,115,
+0,115,0,105,0,
+103,0,110,0,109,
+0,101,0,110,0,
+116,0,95,0,53,
+0,1,192,1,3,
+1,4,1,3,1330,
+22,1,56,1,476,
+1331,17,1332,15,1016,
+1,-1,1,5,1333,
+20,1334,4,20,67,
+0,111,0,110,0,
+115,0,116,0,97,
+0,110,0,116,0,
+95,0,52,0,1,
+201,1,3,1,2,
+1,1,1335,22,1,
+65,1,1732,1336,16,
+0,357,1,1482,1337,
+17,1338,15,1010,1,
+-1,1,5,1339,20,
+1340,4,36,70,0,
+111,0,114,0,76,
+0,111,0,111,0,
+112,0,83,0,116,
+0,97,0,116,0,
+101,0,109,0,101,
+0,110,0,116,0,
+95,0,49,0,1,
+184,1,3,1,2,
+1,1,1341,22,1,
+48,1,463,1342,17,
+1343,15,1344,4,30,
+37,0,86,0,101,
+0,99,0,116,0,
+111,0,114,0,67,
+0,111,0,110,0,
+115,0,116,0,97,
+0,110,0,116,0,
+1,-1,1,5,1345,
+20,1346,4,32,86,
+0,101,0,99,0,
+116,0,111,0,114,
+0,67,0,111,0,
+110,0,115,0,116,
+0,97,0,110,0,
+116,0,95,0,49,
+0,1,202,1,3,
+1,8,1,7,1347,
+22,1,66,1,2239,
+1348,16,0,375,1,
+1993,1349,16,0,357,
+1,242,1350,17,1351,
+15,1003,1,-1,1,
+5,1352,20,1353,4,
+36,66,0,105,0,
+110,0,97,0,114,
+0,121,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,95,0,
+54,0,1,222,1,
+3,1,4,1,3,
+1354,22,1,86,1,
+478,1355,17,1356,15,
+1016,1,-1,1,5,
+1357,20,1358,4,20,
+67,0,111,0,110,
+0,115,0,116,0,
+97,0,110,0,116,
+0,95,0,50,0,
+1,199,1,3,1,
+2,1,1,1359,22,
+1,63,1,479,1360,
+17,1361,15,1016,1,
+-1,1,5,1362,20,
+1363,4,20,67,0,
+111,0,110,0,115,
+0,116,0,97,0,
+110,0,116,0,95,
+0,49,0,1,198,
+1,3,1,2,1,
+1,1364,22,1,62,
+1,1001,1365,17,1366,
+15,1075,1,-1,1,
+5,1367,20,1368,4,
+40,84,0,121,0,
+112,0,101,0,99,
+0,97,0,115,0,
+116,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,95,0,56,
+0,1,246,1,3,
+1,5,1,4,1369,
+22,1,110,1,1002,
+1370,17,1371,15,1075,
+1,-1,1,5,1372,
+20,1373,4,40,84,
+0,121,0,112,0,
+101,0,99,0,97,
+0,115,0,116,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+95,0,49,0,1,
+239,1,3,1,5,
+1,4,1374,22,1,
+103,1,12,1375,19,
+166,1,12,1376,5,
+34,1,1637,667,1,
+1856,779,1,1857,674,
+1,1858,680,1,1859,
+685,1,1860,690,1,
+1862,696,1,1864,701,
+1,1866,706,1,1868,
+797,1,1760,718,1,
+1870,724,1,1871,729,
+1,2095,1377,16,0,
+164,1,31,1378,16,
+0,164,1,32,1379,
+16,0,164,1,1788,
+1380,16,0,164,1,
+2228,1381,16,0,164,
+1,1467,761,1,1639,
+1382,16,0,164,1,
+1694,771,1,2137,1383,
+16,0,562,1,1817,
+790,1,1818,1384,16,
+0,164,1,2037,820,
+1,2038,739,1,1385,
+803,1,2041,747,1,
+2043,711,1,1611,1385,
+16,0,164,1,2048,
+1386,16,0,586,1,
+1993,1387,16,0,164,
+1,1732,1388,16,0,
+164,1,1847,829,1,
+13,1389,19,427,1,
+13,1390,5,29,1,
+1637,667,1,1856,779,
+1,1857,674,1,1858,
+680,1,1859,685,1,
+1860,690,1,1862,696,
+1,1864,701,1,1866,
+706,1,1868,797,1,
+1760,718,1,1870,724,
+1,1871,729,1,2097,
+1391,17,1392,15,1393,
+4,22,37,0,83,
+0,116,0,97,0,
+116,0,101,0,69,
+0,118,0,101,0,
+110,0,116,0,1,
+-1,1,5,1394,20,
+1395,4,24,83,0,
+116,0,97,0,116,
+0,101,0,69,0,
+118,0,101,0,110,
+0,116,0,95,0,
+49,0,1,155,1,
+3,1,6,1,5,
+1396,22,1,17,1,
+2099,1397,16,0,555,
+1,1993,1398,16,0,
+425,1,32,1399,16,
+0,531,1,1467,761,
+1,1694,771,1,2134,
+1400,17,1401,15,1402,
+4,20,37,0,83,
+0,116,0,97,0,
+116,0,101,0,66,
+0,111,0,100,0,
+121,0,1,-1,1,
+5,1403,20,1404,4,
+22,83,0,116,0,
+97,0,116,0,101,
+0,66,0,111,0,
+100,0,121,0,95,
+0,50,0,1,154,
+1,3,1,3,1,
+2,1405,22,1,16,
+1,2136,1406,17,1407,
+15,1402,1,-1,1,
+5,1408,20,1409,4,
+22,83,0,116,0,
+97,0,116,0,101,
+0,66,0,111,0,
+100,0,121,0,95,
+0,49,0,1,153,
+1,3,1,2,1,
+1,1410,22,1,15,
+1,1817,790,1,2037,
+820,1,2038,739,1,
+1385,803,1,2041,747,
+1,2043,711,1,2173,
+1411,16,0,611,1,
+1847,829,1,14,1412,
+19,153,1,14,1413,
+5,87,1,504,982,
+1,1513,1414,16,0,
+493,1,1263,989,1,
+9,995,1,10,1415,
+17,1416,15,1417,4,
+48,37,0,65,0,
+114,0,103,0,117,
+0,109,0,101,0,
+110,0,116,0,68,
+0,101,0,99,0,
+108,0,97,0,114,
+0,97,0,116,0,
+105,0,111,0,110,
+0,76,0,105,0,
+115,0,116,0,1,
+-1,1,5,149,1,
+0,1,0,1418,22,
+1,18,1,262,1001,
+1,1193,1295,1,19,
+1007,1,20,1419,16,
+0,151,1,1527,1008,
+1,30,1420,17,1421,
+15,1417,1,-1,1,
+5,1422,20,1423,4,
+50,65,0,114,0,
+103,0,117,0,109,
+0,101,0,110,0,
+116,0,68,0,101,
+0,99,0,108,0,
+97,0,114,0,97,
+0,116,0,105,0,
+111,0,110,0,76,
+0,105,0,115,0,
+116,0,95,0,50,
+0,1,157,1,3,
+1,4,1,3,1424,
+22,1,20,1,283,
+1028,1,2046,1425,17,
+1426,15,1417,1,-1,
+1,5,1427,20,1428,
+4,50,65,0,114,
+0,103,0,117,0,
+109,0,101,0,110,
+0,116,0,68,0,
+101,0,99,0,108,
+0,97,0,114,0,
+97,0,116,0,105,
+0,111,0,110,0,
+76,0,105,0,115,
+0,116,0,95,0,
+49,0,1,156,1,
+3,1,2,1,1,
+1429,22,1,19,1,
+40,1022,1,41,1430,
+17,1431,15,1432,4,
+26,37,0,65,0,
+114,0,103,0,117,
+0,109,0,101,0,
+110,0,116,0,76,
+0,105,0,115,0,
+116,0,1,-1,1,
+5,451,1,0,1,
+0,1433,22,1,113,
+1,42,1434,17,1435,
+15,1436,4,38,37,
+0,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,65,0,114,0,
+103,0,117,0,109,
+0,101,0,110,0,
+116,0,1,-1,1,
+5,1437,20,1438,4,
+40,69,0,120,0,
+112,0,114,0,101,
+0,115,0,115,0,
+105,0,111,0,110,
+0,65,0,114,0,
+103,0,117,0,109,
+0,101,0,110,0,
+116,0,95,0,49,
+0,1,251,1,3,
+1,2,1,1,1439,
+22,1,116,1,1298,
+1033,1,44,1038,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+305,1066,1,63,1073,
+1,66,1079,1,67,
+1084,1,68,1089,1,
+69,1094,1,70,1099,
+1,573,1104,1,574,
+1440,17,1441,15,1432,
+1,-1,1,5,1442,
+20,1443,4,28,65,
+0,114,0,103,0,
+117,0,109,0,101,
+0,110,0,116,0,
+76,0,105,0,115,
+0,116,0,95,0,
+49,0,1,249,1,
+3,1,2,1,1,
+1444,22,1,114,1,
+1011,1110,1,74,1116,
+1,2084,1445,17,1446,
+15,1417,1,-1,1,
+5,149,1,0,1,
+0,1418,1,328,1126,
+1,1333,1131,1,82,
+1136,1,2093,1447,16,
+0,151,1,1092,1448,
+16,0,453,1,1094,
+1272,1,93,1159,1,
+352,1207,1,1609,1449,
+16,0,493,1,107,
+1192,1,1112,1245,1,
+1046,1121,1,1121,1176,
+1,118,1181,1,371,
+1186,1,373,1229,1,
+375,1197,1,377,1202,
+1,379,1278,1,380,
+1217,1,883,1267,1,
+383,1450,16,0,453,
+1,386,1451,17,1452,
+15,1432,1,-1,1,
+5,1453,20,1454,4,
+28,65,0,114,0,
+103,0,117,0,109,
+0,101,0,110,0,
+116,0,76,0,105,
+0,115,0,116,0,
+95,0,50,0,1,
+250,1,3,1,4,
+1,3,1455,22,1,
+115,1,130,1223,1,
+143,1240,1,1557,1251,
+1,403,1456,16,0,
+527,1,1158,1256,1,
+827,1212,1,381,1457,
+17,1458,15,1432,1,
+-1,1,5,451,1,
+0,1,0,1433,1,
+157,1262,1,172,1283,
+1,428,1459,16,0,
+541,1,1438,1289,1,
+188,1300,1,942,1316,
+1,453,1460,16,0,
+578,1,1962,1305,1,
+2217,1461,17,1462,15,
+1417,1,-1,1,5,
+149,1,0,1,0,
+1418,1,463,1342,1,
+205,1311,1,2226,1463,
+16,0,151,1,223,
+1321,1,1228,1326,1,
+476,1331,1,477,1014,
+1,1482,1337,1,479,
+1360,1,242,1350,1,
+478,1355,1,1001,1365,
+1,1002,1370,1,15,
+1464,19,173,1,15,
+1465,5,7,1,1431,
+1466,16,0,410,1,
+1112,1467,16,0,171,
+1,1511,1468,16,0,
+410,1,40,1469,16,
+0,360,1,19,1007,
+1,9,995,1,2232,
+1470,16,0,364,1,
+16,1471,19,136,1,
+16,1472,5,122,1,
+1257,1473,16,0,196,
+1,1760,718,1,1762,
+1474,16,0,242,1,
+1763,1475,16,0,196,
+1,1514,1476,16,0,
+196,1,9,1477,16,
+0,134,1,256,1478,
+16,0,196,1,504,
+1479,16,0,196,1,
+277,1480,16,0,196,
+1,2037,820,1,2038,
+739,1,1788,1481,16,
+0,196,1,32,1482,
+16,0,196,1,2041,
+747,1,2043,711,1,
+1292,1483,16,0,196,
+1,40,1484,16,0,
+178,1,41,1485,16,
+0,196,1,2050,1486,
+17,1487,15,1488,4,
+12,37,0,69,0,
+118,0,101,0,110,
+0,116,0,1,-1,
+1,5,1489,20,1490,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,51,
+0,51,0,1,291,
+1,3,1,2,1,
+1,1491,22,1,156,
+1,43,1492,16,0,
+196,1,44,1493,16,
+0,178,1,2053,1494,
+17,1495,15,1488,1,
+-1,1,5,1496,20,
+1497,4,16,69,0,
+118,0,101,0,110,
+0,116,0,95,0,
+51,0,48,0,1,
+288,1,3,1,2,
+1,1,1498,22,1,
+153,1,2054,1499,17,
+1500,15,1488,1,-1,
+1,5,1501,20,1502,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,50,
+0,57,0,1,287,
+1,3,1,2,1,
+1,1503,22,1,152,
+1,2055,1504,17,1505,
+15,1488,1,-1,1,
+5,1506,20,1507,4,
+16,69,0,118,0,
+101,0,110,0,116,
+0,95,0,50,0,
+56,0,1,286,1,
+3,1,2,1,1,
+1508,22,1,151,1,
+299,1509,16,0,196,
+1,1993,1510,16,0,
+196,1,2058,1511,17,
+1512,15,1488,1,-1,
+1,5,1513,20,1514,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,50,
+0,53,0,1,283,
+1,3,1,2,1,
+1,1515,22,1,148,
+1,2059,1516,17,1517,
+15,1488,1,-1,1,
+5,1518,20,1519,4,
+16,69,0,118,0,
+101,0,110,0,116,
+0,95,0,50,0,
+52,0,1,282,1,
+3,1,2,1,1,
+1520,22,1,147,1,
+52,1521,16,0,196,
+1,2061,1522,17,1523,
+15,1488,1,-1,1,
+5,1524,20,1525,4,
+16,69,0,118,0,
+101,0,110,0,116,
+0,95,0,50,0,
+50,0,1,280,1,
+3,1,2,1,1,
+1526,22,1,145,1,
+2062,1527,17,1528,15,
+1488,1,-1,1,5,
+1529,20,1530,4,16,
+69,0,118,0,101,
+0,110,0,116,0,
+95,0,50,0,49,
+0,1,279,1,3,
+1,2,1,1,1531,
+22,1,144,1,2063,
+1532,17,1533,15,1488,
+1,-1,1,5,1534,
+20,1535,4,16,69,
+0,118,0,101,0,
+110,0,116,0,95,
+0,50,0,48,0,
+1,278,1,3,1,
+2,1,1,1536,22,
+1,143,1,2064,1537,
+17,1538,15,1488,1,
+-1,1,5,1539,20,
+1540,4,16,69,0,
+118,0,101,0,110,
+0,116,0,95,0,
+49,0,57,0,1,
+277,1,3,1,2,
+1,1,1541,22,1,
+142,1,2065,1542,17,
+1543,15,1488,1,-1,
+1,5,1544,20,1545,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,49,
+0,56,0,1,276,
+1,3,1,2,1,
+1,1546,22,1,141,
+1,2066,1547,17,1548,
+15,1488,1,-1,1,
+5,1549,20,1550,4,
+16,69,0,118,0,
+101,0,110,0,116,
+0,95,0,49,0,
+55,0,1,275,1,
+3,1,2,1,1,
+1551,22,1,140,1,
+2067,1552,17,1553,15,
+1488,1,-1,1,5,
+1554,20,1555,4,16,
+69,0,118,0,101,
+0,110,0,116,0,
+95,0,49,0,54,
+0,1,274,1,3,
+1,2,1,1,1556,
+22,1,139,1,1817,
+790,1,1818,1557,16,
+0,196,1,62,1558,
+16,0,214,1,63,
+1559,16,0,178,1,
+2072,1560,17,1561,15,
+1488,1,-1,1,5,
+1562,20,1563,4,16,
+69,0,118,0,101,
+0,110,0,116,0,
+95,0,49,0,49,
+0,1,269,1,3,
+1,2,1,1,1564,
+22,1,134,1,2073,
+1565,17,1566,15,1488,
+1,-1,1,5,1567,
+20,1568,4,16,69,
+0,118,0,101,0,
+110,0,116,0,95,
+0,49,0,48,0,
+1,268,1,3,1,
+2,1,1,1569,22,
+1,133,1,2074,1570,
+17,1571,15,1488,1,
+-1,1,5,1572,20,
+1573,4,14,69,0,
+118,0,101,0,110,
+0,116,0,95,0,
+57,0,1,267,1,
+3,1,2,1,1,
+1574,22,1,132,1,
+2075,1575,17,1576,15,
+1488,1,-1,1,5,
+1577,20,1578,4,14,
+69,0,118,0,101,
+0,110,0,116,0,
+95,0,56,0,1,
+266,1,3,1,2,
+1,1,1579,22,1,
+131,1,2076,1580,17,
+1581,15,1488,1,-1,
+1,5,1582,20,1583,
+4,14,69,0,118,
+0,101,0,110,0,
+116,0,95,0,55,
+0,1,265,1,3,
+1,2,1,1,1584,
+22,1,130,1,2077,
+1585,17,1586,15,1488,
+1,-1,1,5,1587,
+20,1588,4,14,69,
+0,118,0,101,0,
+110,0,116,0,95,
+0,54,0,1,264,
+1,3,1,2,1,
+1,1589,22,1,129,
+1,2078,1590,17,1591,
+15,1488,1,-1,1,
+5,1592,20,1593,4,
+14,69,0,118,0,
+101,0,110,0,116,
+0,95,0,53,0,
+1,263,1,3,1,
+2,1,1,1594,22,
+1,128,1,71,1595,
+16,0,196,1,1327,
+1596,16,0,196,1,
+2081,1597,17,1598,15,
+1488,1,-1,1,5,
+1599,20,1600,4,14,
+69,0,118,0,101,
+0,110,0,116,0,
+95,0,50,0,1,
+260,1,3,1,2,
+1,1,1601,22,1,
+125,1,2082,1602,17,
+1603,15,1488,1,-1,
+1,5,1604,20,1605,
+4,14,69,0,118,
+0,101,0,110,0,
+116,0,95,0,49,
+0,1,259,1,3,
+1,2,1,1,1606,
+22,1,124,1,2083,
+1607,16,0,577,1,
+76,1608,16,0,196,
+1,1584,1609,16,0,
+196,1,79,1610,16,
+0,196,1,322,1611,
+16,0,196,1,85,
+1612,16,0,196,1,
+89,1613,16,0,196,
+1,1847,829,1,346,
+1614,16,0,196,1,
+97,1615,16,0,196,
+1,1856,779,1,1857,
+674,1,1858,680,1,
+1859,685,1,1860,690,
+1,1862,696,1,1864,
+701,1,1866,706,1,
+2052,1616,17,1617,15,
+1488,1,-1,1,5,
+1618,20,1619,4,16,
+69,0,118,0,101,
+0,110,0,116,0,
+95,0,51,0,49,
+0,1,289,1,3,
+1,2,1,1,1620,
+22,1,154,1,1115,
+1621,16,0,196,1,
+112,1622,16,0,196,
+1,1870,724,1,1871,
+729,1,2057,1623,17,
+1624,15,1488,1,-1,
+1,5,1625,20,1626,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,50,
+0,54,0,1,284,
+1,3,1,2,1,
+1,1627,22,1,149,
+1,102,1628,16,0,
+196,1,2060,1629,17,
+1630,15,1488,1,-1,
+1,5,1631,20,1632,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,50,
+0,51,0,1,281,
+1,3,1,2,1,
+1,1633,22,1,146,
+1,124,1634,16,0,
+196,1,2068,1635,17,
+1636,15,1488,1,-1,
+1,5,1637,20,1638,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,49,
+0,53,0,1,273,
+1,3,1,2,1,
+1,1639,22,1,138,
+1,2069,1640,17,1641,
+15,1488,1,-1,1,
+5,1642,20,1643,4,
+16,69,0,118,0,
+101,0,110,0,116,
+0,95,0,49,0,
+52,0,1,272,1,
+3,1,2,1,1,
+1644,22,1,137,1,
+2070,1645,17,1646,15,
+1488,1,-1,1,5,
+1647,20,1648,4,16,
+69,0,118,0,101,
+0,110,0,116,0,
+95,0,49,0,51,
+0,1,271,1,3,
+1,2,1,1,1649,
+22,1,136,1,2071,
+1650,17,1651,15,1488,
+1,-1,1,5,1652,
+20,1653,4,16,69,
+0,118,0,101,0,
+110,0,116,0,95,
+0,49,0,50,0,
+1,270,1,3,1,
+2,1,1,1654,22,
+1,135,1,381,1655,
+16,0,196,1,1637,
+667,1,384,1656,16,
+0,196,1,137,1657,
+16,0,196,1,2080,
+1658,17,1659,15,1488,
+1,-1,1,5,1660,
+20,1661,4,14,69,
+0,118,0,101,0,
+110,0,116,0,95,
+0,51,0,1,261,
+1,3,1,2,1,
+1,1662,22,1,126,
+1,1396,1663,16,0,
+196,1,397,1664,16,
+0,196,1,1152,1665,
+16,0,196,1,151,
+1666,16,0,196,1,
+1559,1667,16,0,196,
+1,1611,1668,16,0,
+196,1,1667,1669,16,
+0,251,1,1668,1670,
+16,0,196,1,166,
+1671,16,0,196,1,
+1868,797,1,1385,803,
+1,1432,1672,16,0,
+196,1,2056,1673,17,
+1674,15,1488,1,-1,
+1,5,1675,20,1676,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,50,
+0,55,0,1,285,
+1,3,1,2,1,
+1,1677,22,1,150,
+1,182,1678,16,0,
+196,1,1187,1679,16,
+0,196,1,422,1680,
+16,0,196,1,1694,
+771,1,447,1681,16,
+0,196,1,199,1682,
+16,0,196,1,1706,
+1683,16,0,170,1,
+1707,1684,16,0,196,
+1,2079,1685,17,1686,
+15,1488,1,-1,1,
+5,1687,20,1688,4,
+14,69,0,118,0,
+101,0,110,0,116,
+0,95,0,52,0,
+1,262,1,3,1,
+2,1,1,1689,22,
+1,127,1,2216,1690,
+16,0,620,1,1467,
+761,1,1468,1691,16,
+0,423,1,1469,1692,
+16,0,196,1,217,
+1693,16,0,196,1,
+1222,1694,16,0,196,
+1,2233,1695,16,0,
+196,1,1732,1696,16,
+0,196,1,463,1697,
+16,0,196,1,236,
+1698,16,0,196,1,
+488,1699,16,0,196,
+1,1639,1700,16,0,
+196,1,2051,1701,17,
+1702,15,1488,1,-1,
+1,5,1703,20,1704,
+4,16,69,0,118,
+0,101,0,110,0,
+116,0,95,0,51,
+0,50,0,1,290,
+1,3,1,2,1,
+1,1705,22,1,155,
+1,17,1706,19,156,
+1,17,1707,5,95,
+1,1,1708,17,1709,
+15,1710,4,18,37,
+0,84,0,121,0,
+112,0,101,0,110,
+0,97,0,109,0,
+101,0,1,-1,1,
+5,1711,20,1712,4,
+20,84,0,121,0,
+112,0,101,0,110,
+0,97,0,109,0,
+101,0,95,0,55,
+0,1,258,1,3,
+1,2,1,1,1713,
+22,1,123,1,2,
+1714,17,1715,15,1710,
+1,-1,1,5,1716,
+20,1717,4,20,84,
+0,121,0,112,0,
+101,0,110,0,97,
+0,109,0,101,0,
+95,0,54,0,1,
+257,1,3,1,2,
+1,1,1718,22,1,
+122,1,3,1719,17,
+1720,15,1710,1,-1,
+1,5,1721,20,1722,
+4,20,84,0,121,
+0,112,0,101,0,
+110,0,97,0,109,
+0,101,0,95,0,
+53,0,1,256,1,
+3,1,2,1,1,
+1723,22,1,121,1,
+4,1724,17,1725,15,
+1710,1,-1,1,5,
+1726,20,1727,4,20,
+84,0,121,0,112,
+0,101,0,110,0,
+97,0,109,0,101,
+0,95,0,52,0,
+1,255,1,3,1,
+2,1,1,1728,22,
+1,120,1,5,1729,
+17,1730,15,1710,1,
+-1,1,5,1731,20,
+1732,4,20,84,0,
+121,0,112,0,101,
+0,110,0,97,0,
+109,0,101,0,95,
+0,51,0,1,254,
+1,3,1,2,1,
+1,1733,22,1,119,
+1,6,1734,17,1735,
+15,1710,1,-1,1,
+5,1736,20,1737,4,
+20,84,0,121,0,
+112,0,101,0,110,
+0,97,0,109,0,
+101,0,95,0,50,
+0,1,253,1,3,
+1,2,1,1,1738,
+22,1,118,1,7,
+1739,17,1740,15,1710,
+1,-1,1,5,1741,
+20,1742,4,20,84,
+0,121,0,112,0,
+101,0,110,0,97,
+0,109,0,101,0,
+95,0,49,0,1,
+252,1,3,1,2,
+1,1,1743,22,1,
+117,1,1263,989,1,
+9,995,1,10,1415,
+1,262,1001,1,1769,
+1744,16,0,307,1,
+19,1007,1,20,1745,
+16,0,163,1,1527,
+1008,1,30,1420,1,
+283,1028,1,504,982,
+1,2046,1425,1,1010,
+1746,16,0,553,1,
+40,1022,1,41,1430,
+1,42,1434,1,1298,
+1033,1,44,1038,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+305,1066,1,61,1747,
+16,0,206,1,63,
+1073,1,66,1079,1,
+67,1084,1,68,1089,
+1,69,1094,1,70,
+1099,1,573,1104,1,
+574,1440,1,1011,1110,
+1,74,1116,1,2084,
+1445,1,328,1126,1,
+1333,1131,1,73,1748,
+16,0,219,1,82,
+1136,1,2093,1749,16,
+0,528,1,1092,1750,
+16,0,610,1,1094,
+1272,1,93,1159,1,
+352,1207,1,1609,1751,
+16,0,582,1,107,
+1192,1,1112,1245,1,
+1046,1121,1,1121,1176,
+1,118,1181,1,371,
+1186,1,373,1229,1,
+375,1197,1,377,1202,
+1,827,1212,1,380,
+1217,1,883,1267,1,
+386,1451,1,130,1223,
+1,379,1278,1,143,
+1240,1,1557,1251,1,
+1158,1256,1,381,1457,
+1,157,1262,1,1674,
+1752,16,0,154,1,
+172,1283,1,1438,1289,
+1,188,1300,1,942,
+1316,1,1962,1305,1,
+1713,1753,16,0,264,
+1,2217,1461,1,463,
+1342,1,205,1311,1,
+2226,1754,16,0,283,
+1,223,1321,1,1228,
+1326,1,476,1331,1,
+477,1014,1,1482,1337,
+1,1193,1295,1,242,
+1350,1,478,1355,1,
+479,1360,1,1001,1365,
+1,1002,1370,1,18,
+1755,19,417,1,18,
+1756,5,77,1,328,
+1126,1,1333,1757,16,
+0,415,1,1094,1272,
+1,1438,1758,16,0,
+415,1,223,1759,16,
+0,415,1,428,1760,
+16,0,415,1,118,
+1761,16,0,415,1,
+883,1762,16,0,415,
+1,478,1355,1,453,
+1763,16,0,415,1,
+1001,1365,1,130,1764,
+16,0,415,1,1112,
+1245,1,242,1765,16,
+0,415,1,1769,1766,
+16,0,415,1,463,
+1342,1,573,1104,1,
+1228,1767,16,0,415,
+1,1011,1110,1,1121,
+1768,16,0,415,1,
+143,1769,16,0,415,
+1,352,1207,1,1674,
+1770,16,0,415,1,
+40,1022,1,477,1014,
+1,42,1771,16,0,
+415,1,479,1360,1,
+44,1038,1,373,1229,
+1,47,1039,1,48,
+1045,1,49,1051,1,
+50,1056,1,51,1061,
+1,1482,1772,16,0,
+415,1,380,1217,1,
+157,1773,16,0,415,
+1,476,1331,1,371,
+1186,1,1366,1774,16,
+0,415,1,2239,1775,
+16,0,415,1,375,
+1197,1,1010,1776,16,
+0,415,1,63,1073,
+1,1263,1777,16,0,
+415,1,283,1028,1,
+66,1079,1,67,1084,
+1,68,1089,1,69,
+1094,1,70,1099,1,
+73,1778,16,0,415,
+1,74,1116,1,494,
+1779,16,0,415,1,
+377,1202,1,172,1780,
+16,0,415,1,1713,
+1781,16,0,415,1,
+188,1782,16,0,415,
+1,82,1783,16,0,
+415,1,262,1001,1,
+504,982,1,305,1066,
+1,1527,1784,16,0,
+415,1,1565,1785,16,
+0,415,1,403,1786,
+16,0,415,1,827,
+1787,16,0,415,1,
+1046,1788,16,0,415,
+1,93,1789,16,0,
+415,1,1402,1790,16,
+0,415,1,205,1791,
+16,0,415,1,1298,
+1792,16,0,415,1,
+1002,1370,1,942,1793,
+16,0,415,1,1193,
+1794,16,0,415,1,
+379,1278,1,1158,1795,
+16,0,415,1,107,
+1796,16,0,415,1,
+19,1797,19,238,1,
+19,1798,5,153,1,
+1257,1799,16,0,236,
+1,1760,718,1,256,
+1800,16,0,236,1,
+1763,1801,16,0,236,
+1,1011,1110,1,1263,
+1802,16,0,411,1,
+494,1803,16,0,411,
+1,1611,1804,16,0,
+236,1,262,1001,1,
+1769,1805,16,0,411,
+1,504,1806,16,0,
+236,1,1527,1807,16,
+0,411,1,476,1331,
+1,477,1014,1,277,
+1808,16,0,236,1,
+2037,820,1,2038,739,
+1,1788,1809,16,0,
+236,1,32,1810,16,
+0,236,1,2041,747,
+1,2043,711,1,1292,
+1811,16,0,236,1,
+1010,1812,16,0,411,
+1,40,1022,1,41,
+1813,16,0,236,1,
+42,1814,16,0,411,
+1,43,1815,16,0,
+236,1,44,1038,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+52,1816,16,0,236,
+1,1559,1817,16,0,
+236,1,305,1066,1,
+1514,1818,16,0,236,
+1,299,1819,16,0,
+236,1,1817,790,1,
+1818,1820,16,0,236,
+1,283,1028,1,63,
+1073,1,66,1079,1,
+67,1084,1,68,1089,
+1,69,1094,1,70,
+1099,1,573,1104,1,
+1327,1821,16,0,236,
+1,73,1822,16,0,
+411,1,74,1116,1,
+71,1823,16,0,236,
+1,76,1824,16,0,
+236,1,328,1126,1,
+1333,1825,16,0,411,
+1,79,1826,16,0,
+236,1,82,1827,16,
+0,411,1,322,1828,
+16,0,236,1,85,
+1829,16,0,236,1,
+89,1830,16,0,236,
+1,1847,829,1,93,
+1831,16,0,411,1,
+346,1832,16,0,236,
+1,97,1833,16,0,
+236,1,1856,779,1,
+1857,674,1,1858,680,
+1,102,1834,16,0,
+236,1,1860,690,1,
+1862,696,1,1864,701,
+1,1112,1245,1,1866,
+706,1,1046,1835,16,
+0,411,1,1115,1836,
+16,0,236,1,112,
+1837,16,0,236,1,
+1870,724,1,1871,729,
+1,1121,1838,16,0,
+411,1,118,1839,16,
+0,411,1,371,1186,
+1,107,1840,16,0,
+411,1,124,1841,16,
+0,236,1,377,1202,
+1,1298,1842,16,0,
+411,1,827,1843,16,
+0,411,1,380,1217,
+1,130,1844,16,0,
+411,1,1637,667,1,
+384,1845,16,0,236,
+1,373,1229,1,137,
+1846,16,0,236,1,
+352,1207,1,1396,1847,
+16,0,236,1,143,
+1848,16,0,411,1,
+397,1849,16,0,236,
+1,1402,1850,16,0,
+411,1,1152,1851,16,
+0,236,1,375,1197,
+1,151,1852,16,0,
+236,1,403,1853,16,
+0,411,1,1158,1854,
+16,0,411,1,1366,
+1855,16,0,411,1,
+381,1856,16,0,236,
+1,157,1857,16,0,
+411,1,883,1858,16,
+0,411,1,1668,1859,
+16,0,236,1,166,
+1860,16,0,236,1,
+379,1278,1,1674,1861,
+16,0,411,1,1868,
+797,1,172,1862,16,
+0,411,1,1385,803,
+1,1432,1863,16,0,
+236,1,1584,1864,16,
+0,236,1,182,1865,
+16,0,236,1,1187,
+1866,16,0,236,1,
+422,1867,16,0,236,
+1,1694,771,1,1193,
+1868,16,0,411,1,
+428,1869,16,0,411,
+1,188,1870,16,0,
+411,1,447,1871,16,
+0,236,1,1094,1272,
+1,199,1872,16,0,
+236,1,1707,1873,16,
+0,236,1,453,1874,
+16,0,411,1,205,
+1875,16,0,411,1,
+1713,1876,16,0,411,
+1,1565,1877,16,0,
+411,1,1467,761,1,
+1469,1878,16,0,236,
+1,217,1879,16,0,
+236,1,1222,1880,16,
+0,236,1,942,1881,
+16,0,411,1,1859,
+685,1,223,1882,16,
+0,411,1,1228,1883,
+16,0,411,1,2233,
+1884,16,0,236,1,
+1732,1885,16,0,236,
+1,1482,1886,16,0,
+411,1,463,1887,16,
+0,236,1,1438,1888,
+16,0,411,1,2239,
+1889,16,0,411,1,
+236,1890,16,0,236,
+1,488,1891,16,0,
+236,1,1639,1892,16,
+0,236,1,1993,1893,
+16,0,236,1,242,
+1894,16,0,411,1,
+478,1355,1,479,1360,
+1,1001,1365,1,1002,
+1370,1,20,1895,19,
+404,1,20,1896,5,
+77,1,328,1897,16,
+0,402,1,1333,1898,
+16,0,402,1,1094,
+1272,1,1438,1899,16,
+0,402,1,223,1900,
+16,0,402,1,428,
+1901,16,0,402,1,
+118,1902,16,0,402,
+1,883,1903,16,0,
+402,1,478,1355,1,
+453,1904,16,0,402,
+1,1001,1365,1,130,
+1905,16,0,402,1,
+1112,1245,1,242,1906,
+16,0,402,1,1769,
+1907,16,0,402,1,
+463,1342,1,573,1104,
+1,1228,1908,16,0,
+402,1,1011,1110,1,
+1121,1909,16,0,402,
+1,143,1910,16,0,
+402,1,352,1911,16,
+0,402,1,1674,1912,
+16,0,402,1,40,
+1022,1,477,1014,1,
+42,1913,16,0,402,
+1,479,1360,1,44,
+1038,1,373,1229,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+1482,1914,16,0,402,
+1,380,1217,1,157,
+1915,16,0,402,1,
+476,1331,1,371,1186,
+1,1366,1916,16,0,
+402,1,2239,1917,16,
+0,402,1,375,1197,
+1,1010,1918,16,0,
+402,1,63,1073,1,
+1263,1919,16,0,402,
+1,283,1028,1,66,
+1079,1,67,1084,1,
+68,1089,1,69,1094,
+1,70,1099,1,73,
+1920,16,0,402,1,
+74,1116,1,494,1921,
+16,0,402,1,377,
+1202,1,172,1922,16,
+0,402,1,1713,1923,
+16,0,402,1,188,
+1924,16,0,402,1,
+82,1925,16,0,402,
+1,262,1001,1,504,
+982,1,305,1066,1,
+1527,1926,16,0,402,
+1,1565,1927,16,0,
+402,1,403,1928,16,
+0,402,1,827,1929,
+16,0,402,1,1046,
+1930,16,0,402,1,
+93,1931,16,0,402,
+1,1402,1932,16,0,
+402,1,205,1933,16,
+0,402,1,1298,1934,
+16,0,402,1,1002,
+1370,1,942,1935,16,
+0,402,1,1193,1936,
+16,0,402,1,379,
+1278,1,1158,1937,16,
+0,402,1,107,1938,
+16,0,402,1,21,
+1939,19,395,1,21,
+1940,5,77,1,328,
+1941,16,0,393,1,
+1333,1942,16,0,393,
+1,1094,1272,1,1438,
+1943,16,0,393,1,
+223,1944,16,0,393,
+1,428,1945,16,0,
+393,1,118,1946,16,
+0,393,1,883,1947,
+16,0,393,1,478,
+1355,1,453,1948,16,
+0,393,1,1001,1365,
+1,130,1949,16,0,
+393,1,1112,1245,1,
+242,1950,16,0,393,
+1,1769,1951,16,0,
+393,1,463,1342,1,
+573,1104,1,1228,1952,
+16,0,393,1,1011,
+1110,1,1121,1953,16,
+0,393,1,143,1954,
+16,0,393,1,352,
+1955,16,0,393,1,
+1674,1956,16,0,393,
+1,40,1022,1,477,
+1014,1,42,1957,16,
+0,393,1,479,1360,
+1,44,1038,1,373,
+1229,1,47,1039,1,
+48,1045,1,49,1051,
+1,50,1056,1,51,
+1061,1,1482,1958,16,
+0,393,1,380,1217,
+1,157,1959,16,0,
+393,1,476,1331,1,
+371,1186,1,1366,1960,
+16,0,393,1,2239,
+1961,16,0,393,1,
+375,1197,1,1010,1962,
+16,0,393,1,63,
+1073,1,1263,1963,16,
+0,393,1,283,1028,
+1,66,1079,1,67,
+1084,1,68,1089,1,
+69,1094,1,70,1099,
+1,73,1964,16,0,
+393,1,74,1116,1,
+494,1965,16,0,393,
+1,377,1202,1,172,
+1966,16,0,393,1,
+1713,1967,16,0,393,
+1,188,1968,16,0,
+393,1,82,1969,16,
+0,393,1,262,1001,
+1,504,982,1,305,
+1066,1,1527,1970,16,
+0,393,1,1565,1971,
+16,0,393,1,403,
+1972,16,0,393,1,
+827,1973,16,0,393,
+1,1046,1974,16,0,
+393,1,93,1975,16,
+0,393,1,1402,1976,
+16,0,393,1,205,
+1977,16,0,393,1,
+1298,1978,16,0,393,
+1,1002,1370,1,942,
+1979,16,0,393,1,
+1193,1980,16,0,393,
+1,379,1278,1,1158,
+1981,16,0,393,1,
+107,1982,16,0,393,
+1,22,1983,19,385,
+1,22,1984,5,77,
+1,328,1985,16,0,
+383,1,1333,1986,16,
+0,383,1,1094,1272,
+1,1438,1987,16,0,
+383,1,223,1988,16,
+0,383,1,428,1989,
+16,0,383,1,118,
+1990,16,0,383,1,
+883,1991,16,0,383,
+1,478,1355,1,453,
+1992,16,0,383,1,
+1001,1365,1,130,1993,
+16,0,383,1,1112,
+1245,1,242,1994,16,
+0,383,1,1769,1995,
+16,0,383,1,463,
+1342,1,573,1104,1,
+1228,1996,16,0,383,
+1,1011,1110,1,1121,
+1997,16,0,383,1,
+143,1998,16,0,383,
+1,352,1999,16,0,
+383,1,1674,2000,16,
+0,383,1,40,1022,
+1,477,1014,1,42,
+2001,16,0,383,1,
+479,1360,1,44,1038,
+1,373,1229,1,47,
+1039,1,48,1045,1,
+49,1051,1,50,1056,
+1,51,1061,1,1482,
+2002,16,0,383,1,
+380,1217,1,157,2003,
+16,0,383,1,476,
+1331,1,371,1186,1,
+1366,2004,16,0,383,
+1,2239,2005,16,0,
+383,1,375,1197,1,
+1010,2006,16,0,383,
+1,63,1073,1,1263,
+2007,16,0,383,1,
+283,1028,1,66,1079,
+1,67,1084,1,68,
+1089,1,69,1094,1,
+70,1099,1,73,2008,
+16,0,383,1,74,
+1116,1,494,2009,16,
+0,383,1,377,1202,
+1,172,2010,16,0,
+383,1,1713,2011,16,
+0,383,1,188,2012,
+16,0,383,1,82,
+2013,16,0,383,1,
+262,1001,1,504,982,
+1,305,1066,1,1527,
+2014,16,0,383,1,
+1565,2015,16,0,383,
+1,403,2016,16,0,
+383,1,827,2017,16,
+0,383,1,1046,2018,
+16,0,383,1,93,
+2019,16,0,383,1,
+1402,2020,16,0,383,
+1,205,2021,16,0,
+383,1,1298,2022,16,
+0,383,1,1002,1370,
+1,942,2023,16,0,
+383,1,1193,2024,16,
+0,383,1,379,1278,
+1,1158,2025,16,0,
+383,1,107,2026,16,
+0,383,1,23,2027,
+19,322,1,23,2028,
+5,29,1,1637,667,
+1,1856,779,1,1857,
+674,1,1858,680,1,
+1859,685,1,1860,690,
+1,1862,696,1,1864,
+701,1,1866,706,1,
+1868,797,1,1760,718,
+1,1870,724,1,1871,
+729,1,1993,2029,16,
+0,320,1,32,2030,
+16,0,320,1,1788,
+2031,16,0,320,1,
+1467,761,1,1639,2032,
+16,0,320,1,1694,
+771,1,1817,790,1,
+1818,2033,16,0,320,
+1,2037,820,1,2038,
+739,1,1385,803,1,
+2041,747,1,2043,711,
+1,1611,2034,16,0,
+320,1,1732,2035,16,
+0,320,1,1847,829,
+1,24,2036,19,186,
+1,24,2037,5,5,
+1,44,2038,16,0,
+184,1,377,2039,16,
+0,439,1,40,2040,
+16,0,623,1,63,
+2041,16,0,208,1,
+373,2042,16,0,435,
+1,25,2043,19,305,
+1,25,2044,5,154,
+1,1257,2045,16,0,
+522,1,1760,718,1,
+256,2046,16,0,522,
+1,1763,2047,16,0,
+522,1,1011,1110,1,
+1263,2048,16,0,303,
+1,494,2049,16,0,
+303,1,1611,2050,16,
+0,522,1,262,1001,
+1,1769,2051,16,0,
+303,1,504,2052,16,
+0,522,1,1527,2053,
+16,0,303,1,476,
+1331,1,477,1014,1,
+277,2054,16,0,522,
+1,2037,820,1,2038,
+739,1,1788,2055,16,
+0,522,1,32,2056,
+16,0,522,1,2041,
+747,1,2043,711,1,
+1292,2057,16,0,522,
+1,1010,2058,16,0,
+303,1,40,1022,1,
+41,2059,16,0,522,
+1,42,2060,16,0,
+303,1,43,2061,16,
+0,522,1,44,1038,
+1,47,1039,1,48,
+1045,1,49,1051,1,
+50,1056,1,51,1061,
+1,52,2062,16,0,
+522,1,1559,2063,16,
+0,522,1,305,1066,
+1,1514,2064,16,0,
+522,1,299,2065,16,
+0,522,1,1817,790,
+1,1818,2066,16,0,
+522,1,62,2067,16,
+0,522,1,63,1073,
+1,66,1079,1,67,
+1084,1,68,1089,1,
+69,1094,1,70,1099,
+1,573,1104,1,1327,
+2068,16,0,522,1,
+73,2069,16,0,303,
+1,74,1116,1,71,
+2070,16,0,522,1,
+76,2071,16,0,522,
+1,328,1126,1,1333,
+2072,16,0,303,1,
+79,2073,16,0,522,
+1,82,2074,16,0,
+303,1,322,2075,16,
+0,522,1,85,2076,
+16,0,522,1,89,
+2077,16,0,522,1,
+1847,829,1,283,1028,
+1,93,2078,16,0,
+303,1,346,2079,16,
+0,522,1,97,2080,
+16,0,522,1,1856,
+779,1,1857,674,1,
+1858,680,1,102,2081,
+16,0,522,1,1860,
+690,1,1862,696,1,
+1864,701,1,1112,1245,
+1,1866,706,1,1046,
+1121,1,1115,2082,16,
+0,522,1,112,2083,
+16,0,522,1,1870,
+724,1,1871,729,1,
+1121,2084,16,0,303,
+1,118,1181,1,371,
+1186,1,107,2085,16,
+0,303,1,124,2086,
+16,0,522,1,377,
+1202,1,1298,2087,16,
+0,303,1,827,2088,
+16,0,303,1,380,
+1217,1,130,1223,1,
+1637,667,1,384,2089,
+16,0,522,1,373,
+1229,1,137,2090,16,
+0,522,1,352,1207,
+1,1396,2091,16,0,
+522,1,143,2092,16,
+0,303,1,397,2093,
+16,0,522,1,1402,
+2094,16,0,303,1,
+1152,2095,16,0,522,
+1,375,1197,1,151,
+2096,16,0,522,1,
+403,2097,16,0,303,
+1,1158,2098,16,0,
+303,1,1366,2099,16,
+0,303,1,381,2100,
+16,0,522,1,157,
+2101,16,0,303,1,
+883,2102,16,0,303,
+1,1668,2103,16,0,
+522,1,166,2104,16,
+0,522,1,379,1278,
+1,1674,2105,16,0,
+303,1,1868,797,1,
+172,1283,1,1385,803,
+1,1432,2106,16,0,
+522,1,1584,2107,16,
+0,522,1,182,2108,
+16,0,522,1,1187,
+2109,16,0,522,1,
+422,2110,16,0,522,
+1,1694,771,1,1193,
+2111,16,0,303,1,
+428,2112,16,0,303,
+1,188,1300,1,447,
+2113,16,0,522,1,
+1094,1272,1,199,2114,
+16,0,522,1,1707,
+2115,16,0,522,1,
+453,2116,16,0,303,
+1,205,2117,16,0,
+303,1,1713,2118,16,
+0,303,1,1565,2119,
+16,0,303,1,1467,
+761,1,1469,2120,16,
+0,522,1,217,2121,
+16,0,522,1,1222,
+2122,16,0,522,1,
+942,1316,1,1859,685,
+1,223,2123,16,0,
+303,1,1228,2124,16,
+0,303,1,2233,2125,
+16,0,522,1,1732,
+2126,16,0,522,1,
+1482,2127,16,0,303,
+1,463,2128,16,0,
+522,1,1438,2129,16,
+0,303,1,2239,2130,
+16,0,303,1,236,
+2131,16,0,522,1,
+488,2132,16,0,522,
+1,1639,2133,16,0,
+522,1,1993,2134,16,
+0,522,1,242,2135,
+16,0,303,1,478,
+1355,1,479,1360,1,
+1001,1365,1,1002,1370,
+1,26,2136,19,349,
+1,26,2137,5,77,
+1,328,1126,1,1333,
+2138,16,0,347,1,
+1094,1272,1,1438,2139,
+16,0,347,1,223,
+2140,16,0,347,1,
+428,2141,16,0,347,
+1,118,1181,1,883,
+2142,16,0,347,1,
+478,1355,1,453,2143,
+16,0,554,1,1001,
+1365,1,130,1223,1,
+1112,1245,1,242,2144,
+16,0,347,1,1769,
+2145,16,0,347,1,
+463,1342,1,573,1104,
+1,1228,2146,16,0,
+347,1,1011,1110,1,
+1121,2147,16,0,347,
+1,143,2148,16,0,
+347,1,352,1207,1,
+1674,2149,16,0,347,
+1,40,1022,1,477,
+1014,1,42,2150,16,
+0,347,1,479,1360,
+1,44,1038,1,373,
+1229,1,47,1039,1,
+48,1045,1,49,1051,
+1,50,1056,1,51,
+1061,1,1482,2151,16,
+0,347,1,380,1217,
+1,157,2152,16,0,
+347,1,476,1331,1,
+371,1186,1,1366,2153,
+16,0,347,1,2239,
+2154,16,0,347,1,
+375,1197,1,1010,2155,
+16,0,347,1,63,
+1073,1,1263,2156,16,
+0,347,1,283,1028,
+1,66,1079,1,67,
+1084,1,68,1089,1,
+69,1094,1,70,1099,
+1,73,2157,16,0,
+347,1,74,1116,1,
+494,2158,16,0,584,
+1,377,1202,1,172,
+1283,1,1713,2159,16,
+0,347,1,188,1300,
+1,82,2160,16,0,
+347,1,262,1001,1,
+504,982,1,305,1066,
+1,1527,2161,16,0,
+347,1,1565,2162,16,
+0,347,1,403,2163,
+16,0,347,1,827,
+2164,16,0,347,1,
+1046,1121,1,93,2165,
+16,0,347,1,1402,
+2166,16,0,347,1,
+205,2167,16,0,347,
+1,1298,2168,16,0,
+347,1,1002,1370,1,
+942,1316,1,1193,2169,
+16,0,347,1,379,
+1278,1,1158,2170,16,
+0,347,1,107,2171,
+16,0,347,1,27,
+2172,19,446,1,27,
+2173,5,79,1,1584,
+2174,16,0,444,1,
+1639,2175,16,0,444,
+1,1637,667,1,112,
+2176,16,0,444,1,
+1857,674,1,1858,680,
+1,1859,685,1,1860,
+690,1,1611,2177,16,
+0,444,1,1862,696,
+1,1864,701,1,1866,
+706,1,2043,711,1,
+124,2178,16,0,444,
+1,1760,718,1,1870,
+724,1,1871,729,1,
+1763,2179,16,0,444,
+1,1222,2180,16,0,
+444,1,1993,2181,16,
+0,444,1,1115,2182,
+16,0,444,1,447,
+2183,16,0,444,1,
+1187,2184,16,0,444,
+1,137,2185,16,0,
+444,1,2038,739,1,
+346,2186,16,0,444,
+1,32,2187,16,0,
+444,1,1668,2188,16,
+0,444,1,2041,747,
+1,236,2189,16,0,
+444,1,1514,2190,16,
+0,444,1,256,2191,
+16,0,444,1,41,
+2192,16,0,444,1,
+151,2193,16,0,444,
+1,43,2194,16,0,
+444,1,1732,2195,16,
+0,444,1,384,2196,
+16,0,444,1,1467,
+761,1,52,2197,16,
+0,444,1,2233,2198,
+16,0,444,1,381,
+2199,16,0,444,1,
+166,2200,16,0,444,
+1,1257,2201,16,0,
+444,1,1694,771,1,
+1432,2202,16,0,444,
+1,1152,2203,16,0,
+444,1,1856,779,1,
+62,2204,16,0,444,
+1,504,2205,16,0,
+444,1,277,2206,16,
+0,444,1,397,2207,
+16,0,444,1,71,
+2208,16,0,444,1,
+1707,2209,16,0,444,
+1,1817,790,1,1818,
+2210,16,0,444,1,
+1868,797,1,76,2211,
+16,0,444,1,1385,
+803,1,79,2212,16,
+0,444,1,182,2213,
+16,0,444,1,299,
+2214,16,0,444,1,
+1559,2215,16,0,444,
+1,85,2216,16,0,
+444,1,488,2217,16,
+0,444,1,1396,2218,
+16,0,444,1,89,
+2219,16,0,444,1,
+199,2220,16,0,444,
+1,463,2221,16,0,
+444,1,1292,2222,16,
+0,444,1,422,2223,
+16,0,444,1,2037,
+820,1,97,2224,16,
+0,444,1,1469,2225,
+16,0,444,1,1788,
+2226,16,0,444,1,
+102,2227,16,0,444,
+1,1847,829,1,322,
+2228,16,0,444,1,
+1327,2229,16,0,444,
+1,217,2230,16,0,
+444,1,28,2231,19,
+142,1,28,2232,5,
+59,1,328,1126,1,
+1094,1272,1,223,1321,
+1,118,1181,1,883,
+1267,1,1001,1365,1,
+130,1223,1,1112,1245,
+1,242,1350,1,352,
+1207,1,463,1342,1,
+573,1104,1,574,1440,
+1,1011,1110,1,143,
+1240,1,40,1022,1,
+41,1430,1,42,1434,
+1,479,1360,1,44,
+1038,1,373,1229,1,
+47,1039,1,157,1262,
+1,49,1051,1,50,
+1056,1,48,1045,1,
+379,1278,1,380,1217,
+1,51,1061,1,383,
+2233,16,0,140,1,
+371,1186,1,478,1355,
+1,386,1451,1,375,
+1197,1,172,1283,1,
+262,1001,1,283,1028,
+1,63,1073,1,67,
+1084,1,68,1089,1,
+69,1094,1,66,1079,
+1,476,1331,1,477,
+1014,1,74,1116,1,
+377,1202,1,1002,1370,
+1,70,1099,1,188,
+1300,1,381,1457,1,
+82,1136,1,504,982,
+1,305,1066,1,827,
+1212,1,93,1159,1,
+205,1311,1,1046,1121,
+1,942,1316,1,107,
+1192,1,29,2234,19,
+299,1,29,2235,5,
+77,1,328,1126,1,
+1333,2236,16,0,297,
+1,1094,1272,1,1438,
+2237,16,0,297,1,
+223,2238,16,0,297,
+1,428,2239,16,0,
+297,1,118,1181,1,
+883,2240,16,0,297,
+1,478,1355,1,453,
+2241,16,0,297,1,
+1001,1365,1,130,1223,
+1,1112,1245,1,242,
+2242,16,0,297,1,
+1769,2243,16,0,297,
+1,463,1342,1,573,
+1104,1,1228,2244,16,
+0,297,1,1011,1110,
+1,1121,2245,16,0,
+297,1,143,1240,1,
+352,1207,1,1674,2246,
+16,0,297,1,40,
+1022,1,477,1014,1,
+42,2247,16,0,297,
+1,479,1360,1,44,
+1038,1,373,1229,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+1482,2248,16,0,297,
+1,380,1217,1,157,
+1262,1,476,1331,1,
+371,1186,1,1366,2249,
+16,0,297,1,2239,
+2250,16,0,297,1,
+375,1197,1,1010,2251,
+16,0,297,1,63,
+1073,1,1263,2252,16,
+0,297,1,283,1028,
+1,66,1079,1,67,
+1084,1,68,1089,1,
+69,1094,1,70,1099,
+1,73,2253,16,0,
+297,1,74,1116,1,
+494,2254,16,0,297,
+1,377,1202,1,172,
+1283,1,1713,2255,16,
+0,297,1,188,1300,
+1,82,2256,16,0,
+297,1,262,1001,1,
+504,982,1,305,1066,
+1,1527,2257,16,0,
+297,1,1565,2258,16,
+0,297,1,403,2259,
+16,0,297,1,827,
+2260,16,0,297,1,
+1046,1121,1,93,2261,
+16,0,297,1,1402,
+2262,16,0,297,1,
+205,2263,16,0,297,
+1,1298,2264,16,0,
+297,1,1002,1370,1,
+942,1316,1,1193,2265,
+16,0,297,1,379,
+1278,1,1158,2266,16,
+0,297,1,107,2267,
+16,0,297,1,30,
+2268,19,278,1,30,
+2269,5,77,1,328,
+1126,1,1333,2270,16,
+0,276,1,1094,1272,
+1,1438,2271,16,0,
+276,1,223,2272,16,
+0,276,1,428,2273,
+16,0,276,1,118,
+1181,1,883,2274,16,
+0,276,1,478,1355,
+1,453,2275,16,0,
+276,1,1001,1365,1,
+130,1223,1,1112,1245,
+1,242,2276,16,0,
+276,1,1769,2277,16,
+0,276,1,463,1342,
+1,573,1104,1,1228,
+2278,16,0,276,1,
+1011,1110,1,1121,2279,
+16,0,276,1,143,
+1240,1,352,1207,1,
+1674,2280,16,0,276,
+1,40,1022,1,477,
+1014,1,42,2281,16,
+0,276,1,479,1360,
+1,44,1038,1,373,
+1229,1,47,1039,1,
+48,1045,1,49,1051,
+1,50,1056,1,51,
+1061,1,1482,2282,16,
+0,276,1,380,1217,
+1,157,1262,1,476,
+1331,1,371,1186,1,
+1366,2283,16,0,276,
+1,2239,2284,16,0,
+276,1,375,1197,1,
+1010,2285,16,0,276,
+1,63,1073,1,1263,
+2286,16,0,276,1,
+283,1028,1,66,1079,
+1,67,1084,1,68,
+1089,1,69,1094,1,
+70,1099,1,73,2287,
+16,0,276,1,74,
+1116,1,494,2288,16,
+0,276,1,377,1202,
+1,172,1283,1,1713,
+2289,16,0,276,1,
+188,1300,1,82,2290,
+16,0,276,1,262,
+1001,1,504,982,1,
+305,1066,1,1527,2291,
+16,0,276,1,1565,
+2292,16,0,276,1,
+403,2293,16,0,276,
+1,827,2294,16,0,
+276,1,1046,1121,1,
+93,2295,16,0,276,
+1,1402,2296,16,0,
+276,1,205,2297,16,
+0,276,1,1298,2298,
+16,0,276,1,1002,
+1370,1,942,1316,1,
+1193,2299,16,0,276,
+1,379,1278,1,1158,
+2300,16,0,276,1,
+107,2301,16,0,276,
+1,31,2302,19,269,
+1,31,2303,5,77,
+1,328,1126,1,1333,
+2304,16,0,267,1,
+1094,1272,1,1438,2305,
+16,0,267,1,223,
+2306,16,0,267,1,
+428,2307,16,0,267,
+1,118,1181,1,883,
+2308,16,0,267,1,
+478,1355,1,453,2309,
+16,0,267,1,1001,
+1365,1,130,1223,1,
+1112,1245,1,242,2310,
+16,0,267,1,1769,
+2311,16,0,267,1,
+463,1342,1,573,1104,
+1,1228,2312,16,0,
+267,1,1011,1110,1,
+1121,2313,16,0,267,
+1,143,2314,16,0,
+267,1,352,1207,1,
+1674,2315,16,0,267,
+1,40,1022,1,477,
+1014,1,42,2316,16,
+0,267,1,479,1360,
+1,44,1038,1,373,
+1229,1,47,1039,1,
+48,1045,1,49,1051,
+1,50,1056,1,51,
+1061,1,1482,2317,16,
+0,267,1,380,1217,
+1,157,2318,16,0,
+267,1,476,1331,1,
+371,1186,1,1366,2319,
+16,0,267,1,2239,
+2320,16,0,267,1,
+375,1197,1,1010,2321,
+16,0,267,1,63,
+1073,1,1263,2322,16,
+0,267,1,283,1028,
+1,66,1079,1,67,
+1084,1,68,1089,1,
+69,1094,1,70,1099,
+1,73,2323,16,0,
+267,1,74,1116,1,
+494,2324,16,0,267,
+1,377,1202,1,172,
+1283,1,1713,2325,16,
+0,267,1,188,1300,
+1,82,2326,16,0,
+267,1,262,1001,1,
+504,982,1,305,1066,
+1,1527,2327,16,0,
+267,1,1565,2328,16,
+0,267,1,403,2329,
+16,0,267,1,827,
+2330,16,0,267,1,
+1046,1121,1,93,2331,
+16,0,267,1,1402,
+2332,16,0,267,1,
+205,2333,16,0,267,
+1,1298,2334,16,0,
+267,1,1002,1370,1,
+942,1316,1,1193,2335,
+16,0,267,1,379,
+1278,1,1158,2336,16,
+0,267,1,107,2337,
+16,0,267,1,32,
+2338,19,261,1,32,
+2339,5,77,1,328,
+1126,1,1333,2340,16,
+0,259,1,1094,1272,
+1,1438,2341,16,0,
+259,1,223,2342,16,
+0,259,1,428,2343,
+16,0,259,1,118,
+1181,1,883,2344,16,
+0,259,1,478,1355,
+1,453,2345,16,0,
+259,1,1001,1365,1,
+130,1223,1,1112,1245,
+1,242,2346,16,0,
+259,1,1769,2347,16,
+0,259,1,463,1342,
+1,573,1104,1,1228,
+2348,16,0,259,1,
+1011,1110,1,1121,2349,
+16,0,259,1,143,
+2350,16,0,259,1,
+352,1207,1,1674,2351,
+16,0,259,1,40,
+1022,1,477,1014,1,
+42,2352,16,0,259,
+1,479,1360,1,44,
+1038,1,373,1229,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+1482,2353,16,0,259,
+1,380,1217,1,157,
+2354,16,0,259,1,
+476,1331,1,371,1186,
+1,1366,2355,16,0,
+259,1,2239,2356,16,
+0,259,1,375,1197,
+1,1010,2357,16,0,
+259,1,63,1073,1,
+1263,2358,16,0,259,
+1,283,1028,1,66,
+1079,1,67,1084,1,
+68,1089,1,69,1094,
+1,70,1099,1,73,
+2359,16,0,259,1,
+74,1116,1,494,2360,
+16,0,259,1,377,
+1202,1,172,1283,1,
+1713,2361,16,0,259,
+1,188,1300,1,82,
+2362,16,0,259,1,
+262,1001,1,504,982,
+1,305,1066,1,1527,
+2363,16,0,259,1,
+1565,2364,16,0,259,
+1,403,2365,16,0,
+259,1,827,2366,16,
+0,259,1,1046,1121,
+1,93,2367,16,0,
+259,1,1402,2368,16,
+0,259,1,205,2369,
+16,0,259,1,1298,
+2370,16,0,259,1,
+1002,1370,1,942,1316,
+1,1193,2371,16,0,
+259,1,379,1278,1,
+1158,2372,16,0,259,
+1,107,2373,16,0,
+259,1,33,2374,19,
+370,1,33,2375,5,
+77,1,328,1126,1,
+1333,2376,16,0,368,
+1,1094,1272,1,1438,
+2377,16,0,368,1,
+223,2378,16,0,368,
+1,428,2379,16,0,
+368,1,118,1181,1,
+883,2380,16,0,368,
+1,478,1355,1,453,
+2381,16,0,368,1,
+1001,1365,1,130,1223,
+1,1112,1245,1,242,
+1350,1,1769,2382,16,
+0,368,1,463,1342,
+1,573,1104,1,1228,
+2383,16,0,368,1,
+1011,1110,1,1121,2384,
+16,0,368,1,143,
+1240,1,352,1207,1,
+1674,2385,16,0,368,
+1,40,1022,1,477,
+1014,1,42,2386,16,
+0,368,1,479,1360,
+1,44,1038,1,373,
+1229,1,47,1039,1,
+48,1045,1,49,1051,
+1,50,1056,1,51,
+1061,1,1482,2387,16,
+0,368,1,380,1217,
+1,157,1262,1,476,
+1331,1,371,1186,1,
+1366,2388,16,0,368,
+1,2239,2389,16,0,
+368,1,375,1197,1,
+1010,2390,16,0,368,
+1,63,1073,1,1263,
+2391,16,0,368,1,
+283,1028,1,66,1079,
+1,67,1084,1,68,
+1089,1,69,1094,1,
+70,1099,1,73,2392,
+16,0,368,1,74,
+1116,1,494,2393,16,
+0,368,1,377,1202,
+1,172,1283,1,1713,
+2394,16,0,368,1,
+188,1300,1,82,2395,
+16,0,368,1,262,
+1001,1,504,982,1,
+305,1066,1,1527,2396,
+16,0,368,1,1565,
+2397,16,0,368,1,
+403,2398,16,0,368,
+1,827,2399,16,0,
+368,1,1046,1121,1,
+93,2400,16,0,368,
+1,1402,2401,16,0,
+368,1,205,2402,16,
+0,368,1,1298,2403,
+16,0,368,1,1002,
+1370,1,942,1316,1,
+1193,2404,16,0,368,
+1,379,1278,1,1158,
+2405,16,0,368,1,
+107,2406,16,0,368,
+1,34,2407,19,363,
+1,34,2408,5,77,
+1,328,1126,1,1333,
+2409,16,0,361,1,
+1094,1272,1,1438,2410,
+16,0,361,1,223,
+1321,1,428,2411,16,
+0,361,1,118,1181,
+1,883,2412,16,0,
+361,1,478,1355,1,
+453,2413,16,0,361,
+1,1001,1365,1,130,
+1223,1,1112,1245,1,
+242,1350,1,1769,2414,
+16,0,361,1,463,
+1342,1,573,1104,1,
+1228,2415,16,0,361,
+1,1011,1110,1,1121,
+2416,16,0,361,1,
+143,1240,1,352,1207,
+1,1674,2417,16,0,
+361,1,40,1022,1,
+477,1014,1,42,2418,
+16,0,361,1,479,
+1360,1,44,1038,1,
+373,1229,1,47,1039,
+1,48,1045,1,49,
+1051,1,50,1056,1,
+51,1061,1,1482,2419,
+16,0,361,1,380,
+1217,1,157,1262,1,
+476,1331,1,371,1186,
+1,1366,2420,16,0,
+361,1,2239,2421,16,
+0,361,1,375,1197,
+1,1010,2422,16,0,
+361,1,63,1073,1,
+1263,2423,16,0,361,
+1,283,1028,1,66,
+1079,1,67,1084,1,
+68,1089,1,69,1094,
+1,70,1099,1,73,
+2424,16,0,361,1,
+74,1116,1,494,2425,
+16,0,361,1,377,
+1202,1,172,1283,1,
+1713,2426,16,0,361,
+1,188,1300,1,82,
+2427,16,0,361,1,
+262,1001,1,504,982,
+1,305,1066,1,1527,
+2428,16,0,361,1,
+1565,2429,16,0,361,
+1,403,2430,16,0,
+361,1,827,2431,16,
+0,361,1,1046,1121,
+1,93,2432,16,0,
+361,1,1402,2433,16,
+0,361,1,205,1311,
+1,1298,2434,16,0,
+361,1,1002,1370,1,
+942,1316,1,1193,2435,
+16,0,361,1,379,
+1278,1,1158,2436,16,
+0,361,1,107,2437,
+16,0,361,1,35,
+2438,19,356,1,35,
+2439,5,77,1,328,
+1126,1,1333,2440,16,
+0,354,1,1094,1272,
+1,1438,2441,16,0,
+354,1,223,2442,16,
+0,354,1,428,2443,
+16,0,354,1,118,
+1181,1,883,2444,16,
+0,354,1,478,1355,
+1,453,2445,16,0,
+354,1,1001,1365,1,
+130,1223,1,1112,1245,
+1,242,1350,1,1769,
+2446,16,0,354,1,
+463,1342,1,573,1104,
+1,1228,2447,16,0,
+354,1,1011,1110,1,
+1121,2448,16,0,354,
+1,143,1240,1,352,
+1207,1,1674,2449,16,
+0,354,1,40,1022,
+1,477,1014,1,42,
+2450,16,0,354,1,
+479,1360,1,44,1038,
+1,373,1229,1,47,
+1039,1,48,1045,1,
+49,1051,1,50,1056,
+1,51,1061,1,1482,
+2451,16,0,354,1,
+380,1217,1,157,1262,
+1,476,1331,1,371,
+1186,1,1366,2452,16,
+0,354,1,2239,2453,
+16,0,354,1,375,
+1197,1,1010,2454,16,
+0,354,1,63,1073,
+1,1263,2455,16,0,
+354,1,283,1028,1,
+66,1079,1,67,1084,
+1,68,1089,1,69,
+1094,1,70,1099,1,
+73,2456,16,0,354,
+1,74,1116,1,494,
+2457,16,0,354,1,
+377,1202,1,172,1283,
+1,1713,2458,16,0,
+354,1,188,1300,1,
+82,2459,16,0,354,
+1,262,1001,1,504,
+982,1,305,1066,1,
+1527,2460,16,0,354,
+1,1565,2461,16,0,
+354,1,403,2462,16,
+0,354,1,827,2463,
+16,0,354,1,1046,
+1121,1,93,2464,16,
+0,354,1,1402,2465,
+16,0,354,1,205,
+1311,1,1298,2466,16,
+0,354,1,1002,1370,
+1,942,1316,1,1193,
+2467,16,0,354,1,
+379,1278,1,1158,2468,
+16,0,354,1,107,
+2469,16,0,354,1,
+36,2470,19,229,1,
+36,2471,5,78,1,
+1584,2472,16,0,227,
+1,1639,2473,16,0,
+227,1,1637,667,1,
+112,2474,16,0,227,
+1,1857,674,1,1858,
+680,1,1859,685,1,
+1860,690,1,1862,696,
+1,1864,701,1,1866,
+706,1,2043,711,1,
+124,2475,16,0,227,
+1,1760,718,1,1870,
+724,1,1871,729,1,
+1763,2476,16,0,227,
+1,1222,2477,16,0,
+227,1,1993,2478,16,
+0,227,1,1115,2479,
+16,0,227,1,447,
+2480,16,0,227,1,
+1187,2481,16,0,227,
+1,137,2482,16,0,
+227,1,2038,739,1,
+346,2483,16,0,227,
+1,32,2484,16,0,
+227,1,1668,2485,16,
+0,227,1,2041,747,
+1,236,2486,16,0,
+227,1,1514,2487,16,
+0,227,1,256,2488,
+16,0,227,1,41,
+2489,16,0,227,1,
+151,2490,16,0,227,
+1,43,2491,16,0,
+227,1,1732,2492,16,
+0,227,1,384,2493,
+16,0,227,1,1467,
+761,1,52,2494,16,
+0,227,1,2233,2495,
+16,0,227,1,381,
+2496,16,0,227,1,
+166,2497,16,0,227,
+1,1257,2498,16,0,
+227,1,1694,771,1,
+1432,2499,16,0,227,
+1,1152,2500,16,0,
+227,1,1856,779,1,
+1611,2501,16,0,227,
+1,504,2502,16,0,
+227,1,277,2503,16,
+0,227,1,397,2504,
+16,0,227,1,71,
+2505,16,0,227,1,
+1707,2506,16,0,227,
+1,1817,790,1,1818,
+2507,16,0,227,1,
+1868,797,1,76,2508,
+16,0,227,1,1385,
+803,1,79,2509,16,
+0,227,1,182,2510,
+16,0,227,1,299,
+2511,16,0,227,1,
+1559,2512,16,0,227,
+1,85,2513,16,0,
+227,1,488,2514,16,
+0,227,1,1396,2515,
+16,0,227,1,89,
+2516,16,0,227,1,
+199,2517,16,0,227,
+1,463,2518,16,0,
+227,1,1292,2519,16,
+0,227,1,422,2520,
+16,0,227,1,2037,
+820,1,97,2521,16,
+0,227,1,1469,2522,
+16,0,227,1,1788,
+2523,16,0,227,1,
+102,2524,16,0,227,
+1,1847,829,1,322,
+2525,16,0,227,1,
+1327,2526,16,0,227,
+1,217,2527,16,0,
+227,1,37,2528,19,
+250,1,37,2529,5,
+78,1,1584,2530,16,
+0,248,1,1639,2531,
+16,0,248,1,1637,
+667,1,112,2532,16,
+0,248,1,1857,674,
+1,1858,680,1,1859,
+685,1,1860,690,1,
+1862,696,1,1864,701,
+1,1866,706,1,2043,
+711,1,124,2533,16,
+0,248,1,1760,718,
+1,1870,724,1,1871,
+729,1,1763,2534,16,
+0,248,1,1222,2535,
+16,0,248,1,1993,
+2536,16,0,248,1,
+1115,2537,16,0,248,
+1,447,2538,16,0,
+248,1,1187,2539,16,
+0,248,1,137,2540,
+16,0,248,1,2038,
+739,1,346,2541,16,
+0,248,1,32,2542,
+16,0,248,1,1668,
+2543,16,0,248,1,
+2041,747,1,236,2544,
+16,0,248,1,1514,
+2545,16,0,248,1,
+256,2546,16,0,248,
+1,41,2547,16,0,
+248,1,151,2548,16,
+0,248,1,43,2549,
+16,0,248,1,1732,
+2550,16,0,248,1,
+384,2551,16,0,248,
+1,1467,761,1,52,
+2552,16,0,248,1,
+2233,2553,16,0,248,
+1,381,2554,16,0,
+248,1,166,2555,16,
+0,248,1,1257,2556,
+16,0,248,1,1694,
+771,1,1432,2557,16,
+0,248,1,1152,2558,
+16,0,248,1,1856,
+779,1,1611,2559,16,
+0,248,1,504,2560,
+16,0,248,1,277,
+2561,16,0,248,1,
+397,2562,16,0,248,
+1,71,2563,16,0,
+248,1,1707,2564,16,
+0,248,1,1817,790,
+1,1818,2565,16,0,
+248,1,1868,797,1,
+76,2566,16,0,248,
+1,1385,803,1,79,
+2567,16,0,248,1,
+182,2568,16,0,248,
+1,299,2569,16,0,
+248,1,1559,2570,16,
+0,248,1,85,2571,
+16,0,248,1,488,
+2572,16,0,248,1,
+1396,2573,16,0,248,
+1,89,2574,16,0,
+248,1,199,2575,16,
+0,248,1,463,2576,
+16,0,248,1,1292,
+2577,16,0,248,1,
+422,2578,16,0,248,
+1,2037,820,1,97,
+2579,16,0,248,1,
+1469,2580,16,0,248,
+1,1788,2581,16,0,
+248,1,102,2582,16,
+0,248,1,1847,829,
+1,322,2583,16,0,
+248,1,1327,2584,16,
+0,248,1,217,2585,
+16,0,248,1,38,
+2586,19,246,1,38,
+2587,5,77,1,328,
+1126,1,1333,2588,16,
+0,244,1,1094,1272,
+1,1438,2589,16,0,
+244,1,223,1321,1,
+428,2590,16,0,244,
+1,118,1181,1,883,
+1267,1,478,1355,1,
+453,2591,16,0,244,
+1,1001,1365,1,130,
+1223,1,1112,1245,1,
+242,1350,1,1769,2592,
+16,0,244,1,463,
+1342,1,573,1104,1,
+1228,2593,16,0,244,
+1,1011,1110,1,1121,
+2594,16,0,244,1,
+143,1240,1,352,1207,
+1,1674,2595,16,0,
+244,1,40,1022,1,
+477,1014,1,42,2596,
+16,0,244,1,479,
+1360,1,44,1038,1,
+373,1229,1,47,1039,
+1,48,1045,1,49,
+1051,1,50,1056,1,
+51,1061,1,1482,2597,
+16,0,244,1,380,
+1217,1,157,1262,1,
+476,1331,1,371,1186,
+1,1366,2598,16,0,
+244,1,2239,2599,16,
+0,244,1,375,1197,
+1,1010,2600,16,0,
+244,1,63,1073,1,
+1263,2601,16,0,244,
+1,283,1028,1,66,
+1079,1,67,1084,1,
+68,1089,1,69,1094,
+1,70,1099,1,73,
+2602,16,0,244,1,
+74,1116,1,494,2603,
+16,0,244,1,377,
+1202,1,172,1283,1,
+1713,2604,16,0,244,
+1,188,1300,1,82,
+2605,16,0,244,1,
+262,1001,1,504,982,
+1,305,1066,1,1527,
+2606,16,0,244,1,
+1565,2607,16,0,244,
+1,403,2608,16,0,
+244,1,827,1212,1,
+1046,1121,1,93,2609,
+16,0,244,1,1402,
+2610,16,0,244,1,
+205,1311,1,1298,2611,
+16,0,244,1,1002,
+1370,1,942,1316,1,
+1193,2612,16,0,244,
+1,379,1278,1,1158,
+2613,16,0,244,1,
+107,2614,16,0,244,
+1,39,2615,19,232,
+1,39,2616,5,77,
+1,328,1126,1,1333,
+2617,16,0,230,1,
+1094,1272,1,1438,2618,
+16,0,230,1,223,
+1321,1,428,2619,16,
+0,230,1,118,1181,
+1,883,1267,1,478,
+1355,1,453,2620,16,
+0,230,1,1001,1365,
+1,130,1223,1,1112,
+1245,1,242,1350,1,
+1769,2621,16,0,230,
+1,463,1342,1,573,
+1104,1,1228,2622,16,
+0,230,1,1011,1110,
+1,1121,2623,16,0,
+230,1,143,1240,1,
+352,1207,1,1674,2624,
+16,0,230,1,40,
+1022,1,477,1014,1,
+42,2625,16,0,230,
+1,479,1360,1,44,
+1038,1,373,1229,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+1482,2626,16,0,230,
+1,380,1217,1,157,
+1262,1,476,1331,1,
+371,1186,1,1366,2627,
+16,0,230,1,2239,
+2628,16,0,230,1,
+375,1197,1,1010,2629,
+16,0,230,1,63,
+1073,1,1263,2630,16,
+0,230,1,283,1028,
+1,66,1079,1,67,
+1084,1,68,1089,1,
+69,1094,1,70,1099,
+1,73,2631,16,0,
+230,1,74,1116,1,
+494,2632,16,0,230,
+1,377,1202,1,172,
+1283,1,1713,2633,16,
+0,230,1,188,1300,
+1,82,2634,16,0,
+230,1,262,1001,1,
+504,982,1,305,1066,
+1,1527,2635,16,0,
+230,1,1565,2636,16,
+0,230,1,403,2637,
+16,0,230,1,827,
+1212,1,1046,1121,1,
+93,2638,16,0,230,
+1,1402,2639,16,0,
+230,1,205,1311,1,
+1298,2640,16,0,230,
+1,1002,1370,1,942,
+1316,1,1193,2641,16,
+0,230,1,379,1278,
+1,1158,2642,16,0,
+230,1,107,2643,16,
+0,230,1,40,2644,
+19,223,1,40,2645,
+5,77,1,328,1126,
+1,1333,2646,16,0,
+221,1,1094,1272,1,
+1438,2647,16,0,221,
+1,223,2648,16,0,
+221,1,428,2649,16,
+0,221,1,118,2650,
+16,0,221,1,883,
+2651,16,0,221,1,
+478,1355,1,453,2652,
+16,0,221,1,1001,
+1365,1,130,2653,16,
+0,221,1,1112,1245,
+1,242,2654,16,0,
+221,1,1769,2655,16,
+0,221,1,463,1342,
+1,573,1104,1,1228,
+2656,16,0,221,1,
+1011,1110,1,1121,2657,
+16,0,221,1,143,
+2658,16,0,221,1,
+352,1207,1,1674,2659,
+16,0,221,1,40,
+1022,1,477,1014,1,
+42,2660,16,0,221,
+1,479,1360,1,44,
+1038,1,373,1229,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+1482,2661,16,0,221,
+1,380,1217,1,157,
+2662,16,0,221,1,
+476,1331,1,371,1186,
+1,1366,2663,16,0,
+221,1,2239,2664,16,
+0,221,1,375,1197,
+1,1010,2665,16,0,
+221,1,63,1073,1,
+1263,2666,16,0,221,
+1,283,1028,1,66,
+1079,1,67,1084,1,
+68,1089,1,69,1094,
+1,70,1099,1,73,
+2667,16,0,221,1,
+74,1116,1,494,2668,
+16,0,221,1,377,
+1202,1,172,2669,16,
+0,221,1,1713,2670,
+16,0,221,1,188,
+2671,16,0,221,1,
+82,2672,16,0,221,
+1,262,1001,1,504,
+982,1,305,1066,1,
+1527,2673,16,0,221,
+1,1565,2674,16,0,
+221,1,403,2675,16,
+0,221,1,827,2676,
+16,0,221,1,1046,
+1121,1,93,2677,16,
+0,221,1,1402,2678,
+16,0,221,1,205,
+2679,16,0,221,1,
+1298,2680,16,0,221,
+1,1002,1370,1,942,
+1316,1,1193,2681,16,
+0,221,1,379,1278,
+1,1158,2682,16,0,
+221,1,107,2683,16,
+0,221,1,41,2684,
+19,182,1,41,2685,
+5,77,1,328,1126,
+1,1333,2686,16,0,
+180,1,1094,1272,1,
+1438,2687,16,0,180,
+1,223,2688,16,0,
+180,1,428,2689,16,
+0,180,1,118,2690,
+16,0,180,1,883,
+2691,16,0,180,1,
+478,1355,1,453,2692,
+16,0,180,1,1001,
+1365,1,130,2693,16,
+0,180,1,1112,1245,
+1,242,2694,16,0,
+180,1,1769,2695,16,
+0,180,1,463,1342,
+1,573,1104,1,1228,
+2696,16,0,180,1,
+1011,1110,1,1121,2697,
+16,0,180,1,143,
+2698,16,0,180,1,
+352,1207,1,1674,2699,
+16,0,180,1,40,
+1022,1,477,1014,1,
+42,2700,16,0,180,
+1,479,1360,1,44,
+1038,1,373,1229,1,
+47,1039,1,48,1045,
+1,49,1051,1,50,
+1056,1,51,1061,1,
+1482,2701,16,0,180,
+1,380,1217,1,157,
+2702,16,0,180,1,
+476,1331,1,371,1186,
+1,1366,2703,16,0,
+180,1,2239,2704,16,
+0,180,1,375,1197,
+1,1010,2705,16,0,
+180,1,63,1073,1,
+1263,2706,16,0,180,
+1,283,1028,1,66,
+1079,1,67,1084,1,
+68,1089,1,69,1094,
+1,70,1099,1,73,
+2707,16,0,180,1,
+74,1116,1,494,2708,
+16,0,180,1,377,
+1202,1,172,2709,16,
+0,180,1,1713,2710,
+16,0,180,1,188,
+2711,16,0,180,1,
+82,2712,16,0,180,
+1,262,1001,1,504,
+982,1,305,1066,1,
+1527,2713,16,0,180,
+1,1565,2714,16,0,
+180,1,403,2715,16,
+0,180,1,827,2716,
+16,0,180,1,1046,
+1121,1,93,2717,16,
+0,180,1,1402,2718,
+16,0,180,1,205,
+2719,16,0,180,1,
+1298,2720,16,0,180,
+1,1002,1370,1,942,
+1316,1,1193,2721,16,
+0,180,1,379,1278,
+1,1158,2722,16,0,
+180,1,107,2723,16,
+0,180,1,42,2724,
+19,241,1,42,2725,
+5,29,1,1637,667,
+1,1856,779,1,1857,
+674,1,1858,680,1,
+1859,685,1,1860,690,
+1,1862,696,1,1864,
+701,1,1866,706,1,
+1868,797,1,1760,718,
+1,1870,724,1,1871,
+729,1,1993,2726,16,
+0,239,1,32,2727,
+16,0,239,1,1788,
+2728,16,0,239,1,
+1467,761,1,1639,2729,
+16,0,239,1,1694,
+771,1,1817,790,1,
+1818,2730,16,0,239,
+1,2037,820,1,2038,
+739,1,1385,803,1,
+2041,747,1,2043,711,
+1,1611,2731,16,0,
+239,1,1732,2732,16,
+0,239,1,1847,829,
+1,43,2733,19,295,
+1,43,2734,5,20,
+1,2043,711,1,2038,
+739,1,1817,2735,16,
+0,293,1,1760,718,
+1,1856,779,1,1857,
+674,1,1858,680,1,
+1859,685,1,1860,690,
+1,1862,696,1,1864,
+701,1,1866,706,1,
+1868,797,1,1870,724,
+1,1871,729,1,1467,
+761,1,1385,803,1,
+1637,667,1,1694,771,
+1,1847,829,1,44,
+2736,19,600,1,44,
+2737,5,29,1,1637,
+667,1,1856,779,1,
+1857,674,1,1858,680,
+1,1859,685,1,1860,
+690,1,1862,696,1,
+1864,701,1,1866,706,
+1,1868,797,1,1760,
+718,1,1870,724,1,
+1871,729,1,1993,2738,
+16,0,598,1,32,
+2739,16,0,598,1,
+1788,2740,16,0,598,
+1,1467,761,1,1639,
+2741,16,0,598,1,
+1694,771,1,1817,790,
+1,1818,2742,16,0,
+598,1,2037,820,1,
+2038,739,1,1385,803,
+1,2041,747,1,2043,
+711,1,1611,2743,16,
+0,598,1,1732,2744,
+16,0,598,1,1847,
+829,1,45,2745,19,
+169,1,45,2746,5,
+30,1,1637,667,1,
+1856,779,1,1857,674,
+1,1858,680,1,1859,
+685,1,1860,690,1,
+1862,696,1,1864,701,
+1,1866,706,1,1868,
+797,1,1760,718,1,
+1870,724,1,1871,729,
+1,1666,2747,16,0,
+622,1,1993,2748,16,
+0,167,1,32,2749,
+16,0,167,1,1788,
+2750,16,0,167,1,
+1467,761,1,1639,2751,
+16,0,167,1,1694,
+771,1,1817,790,1,
+1818,2752,16,0,167,
+1,2037,820,1,2038,
+739,1,1385,803,1,
+2041,747,1,2043,711,
+1,1611,2753,16,0,
+167,1,1732,2754,16,
+0,167,1,1847,829,
+1,46,2755,19,422,
+1,46,2756,5,29,
+1,1637,667,1,1856,
+779,1,1857,674,1,
+1858,680,1,1859,685,
+1,1860,690,1,1862,
+696,1,1864,701,1,
+1866,706,1,1868,797,
+1,1760,718,1,1870,
+724,1,1871,729,1,
+1993,2757,16,0,420,
+1,32,2758,16,0,
+420,1,1788,2759,16,
+0,420,1,1467,761,
+1,1639,2760,16,0,
+420,1,1694,771,1,
+1817,790,1,1818,2761,
+16,0,420,1,2037,
+820,1,2038,739,1,
+1385,803,1,2041,747,
+1,2043,711,1,1611,
+2762,16,0,420,1,
+1732,2763,16,0,420,
+1,1847,829,1,47,
+2764,19,314,1,47,
+2765,5,19,1,0,
+2766,16,0,608,1,
+2258,2767,17,2768,15,
+2769,4,52,37,0,
+71,0,108,0,111,
+0,98,0,97,0,
+108,0,86,0,97,
+0,114,0,105,0,
+97,0,98,0,108,
+0,101,0,68,0,
+101,0,99,0,108,
+0,97,0,114,0,
+97,0,116,0,105,
+0,111,0,110,0,
+1,-1,1,5,2770,
+20,2771,4,54,71,
+0,108,0,111,0,
+98,0,97,0,108,
+0,86,0,97,0,
+114,0,105,0,97,
+0,98,0,108,0,
+101,0,68,0,101,
+0,99,0,108,0,
+97,0,114,0,97,
+0,116,0,105,0,
+111,0,110,0,95,
+0,50,0,1,146,
+1,3,1,5,1,
+4,2772,22,1,8,
+1,2045,2773,17,2774,
+15,2775,4,50,37,
+0,71,0,108,0,
+111,0,98,0,97,
+0,108,0,70,0,
+117,0,110,0,99,
+0,116,0,105,0,
+111,0,110,0,68,
+0,101,0,102,0,
+105,0,110,0,105,
+0,116,0,105,0,
+111,0,110,0,1,
+-1,1,5,2776,20,
+2777,4,52,71,0,
+108,0,111,0,98,
+0,97,0,108,0,
+70,0,117,0,110,
+0,99,0,116,0,
+105,0,111,0,110,
+0,68,0,101,0,
+102,0,105,0,110,
+0,105,0,116,0,
+105,0,111,0,110,
+0,95,0,50,0,
+1,148,1,3,1,
+7,1,6,2778,22,
+1,10,1,2038,739,
+1,2043,711,1,2230,
+2779,17,2780,15,2775,
+1,-1,1,5,2781,
+20,2782,4,52,71,
+0,108,0,111,0,
+98,0,97,0,108,
+0,70,0,117,0,
+110,0,99,0,116,
+0,105,0,111,0,
+110,0,68,0,101,
+0,102,0,105,0,
+110,0,105,0,116,
+0,105,0,111,0,
+110,0,95,0,49,
+0,1,147,1,3,
+1,6,1,5,2783,
+22,1,9,1,2269,
+2784,17,2785,15,2769,
+1,-1,1,5,2786,
+20,2787,4,54,71,
+0,108,0,111,0,
+98,0,97,0,108,
+0,86,0,97,0,
+114,0,105,0,97,
+0,98,0,108,0,
+101,0,68,0,101,
+0,99,0,108,0,
+97,0,114,0,97,
+0,116,0,105,0,
+111,0,110,0,95,
+0,49,0,1,145,
+1,3,1,3,1,
+2,2788,22,1,7,
+1,2270,2789,16,0,
+608,1,2209,658,1,
+2281,2790,16,0,608,
+1,2135,636,1,2211,
+2791,16,0,608,1,
+2214,642,1,2215,653,
+1,2288,2792,17,2793,
+15,2794,4,36,37,
+0,71,0,108,0,
+111,0,98,0,97,
+0,108,0,68,0,
+101,0,102,0,105,
+0,110,0,105,0,
+116,0,105,0,111,
+0,110,0,115,0,
+1,-1,1,5,2795,
+20,2796,4,38,71,
+0,108,0,111,0,
+98,0,97,0,108,
+0,68,0,101,0,
+102,0,105,0,110,
+0,105,0,116,0,
+105,0,111,0,110,
+0,115,0,95,0,
+52,0,1,144,1,
+3,1,3,1,2,
+2797,22,1,6,1,
+2289,2798,17,2799,15,
+2794,1,-1,1,5,
+2800,20,2801,4,38,
+71,0,108,0,111,
+0,98,0,97,0,
+108,0,68,0,101,
+0,102,0,105,0,
+110,0,105,0,116,
+0,105,0,111,0,
+110,0,115,0,95,
+0,50,0,1,142,
+1,3,1,3,1,
+2,2802,22,1,4,
+1,2290,2803,17,2804,
+15,2794,1,-1,1,
+5,2805,20,2806,4,
+38,71,0,108,0,
+111,0,98,0,97,
+0,108,0,68,0,
+101,0,102,0,105,
+0,110,0,105,0,
+116,0,105,0,111,
+0,110,0,115,0,
+95,0,51,0,1,
+143,1,3,1,2,
+1,1,2807,22,1,
+5,1,2291,2808,17,
+2809,15,2794,1,-1,
+1,5,2810,20,2811,
+4,38,71,0,108,
+0,111,0,98,0,
+97,0,108,0,68,
+0,101,0,102,0,
+105,0,110,0,105,
+0,116,0,105,0,
+111,0,110,0,115,
+0,95,0,49,0,
+1,141,1,3,1,
+2,1,1,2812,22,
+1,3,1,1849,2813,
+16,0,312,1,48,
+2814,19,373,1,48,
+2815,5,45,1,0,
+2816,16,0,534,1,
+2290,2803,1,2291,2808,
+1,1856,779,1,1857,
+674,1,1858,680,1,
+1859,685,1,1860,690,
+1,1862,696,1,1864,
+701,1,1866,706,1,
+1868,797,1,1760,718,
+1,1870,724,1,1871,
+729,1,2209,658,1,
+1993,2817,16,0,371,
+1,32,2818,16,0,
+371,1,2214,642,1,
+1467,761,1,2289,2798,
+1,1788,2819,16,0,
+371,1,2230,2779,1,
+1637,667,1,1639,2820,
+16,0,371,1,1694,
+771,1,2135,636,1,
+1817,790,1,1818,2821,
+16,0,371,1,2037,
+820,1,2038,739,1,
+1385,803,1,2258,2767,
+1,2041,747,1,2043,
+711,1,2045,2773,1,
+1611,2822,16,0,371,
+1,2269,2784,1,2270,
+2823,16,0,534,1,
+1732,2824,16,0,371,
+1,2281,2825,16,0,
+534,1,2211,2826,16,
+0,534,1,1847,829,
+1,2215,653,1,2288,
+2792,1,49,2827,19,
+318,1,49,2828,5,
+29,1,1637,667,1,
+1856,779,1,1857,674,
+1,1858,680,1,1859,
+685,1,1860,690,1,
+1862,696,1,1864,701,
+1,1866,706,1,1868,
+797,1,1760,718,1,
+1870,724,1,1871,729,
+1,1993,2829,16,0,
+316,1,32,2830,16,
+0,316,1,1788,2831,
+16,0,316,1,1467,
+761,1,1639,2832,16,
+0,316,1,1694,771,
+1,1817,790,1,1818,
+2833,16,0,316,1,
+2037,820,1,2038,739,
+1,1385,803,1,2041,
+747,1,2043,711,1,
+1611,2834,16,0,316,
+1,1732,2835,16,0,
+316,1,1847,829,1,
+50,2836,19,398,1,
+50,2837,5,29,1,
+1637,667,1,1856,779,
+1,1857,674,1,1858,
+680,1,1859,685,1,
+1860,690,1,1862,696,
+1,1864,701,1,1866,
+706,1,1868,797,1,
+1760,718,1,1870,724,
+1,1871,729,1,1993,
+2838,16,0,396,1,
+32,2839,16,0,396,
+1,1788,2840,16,0,
+396,1,1467,761,1,
+1639,2841,16,0,396,
+1,1694,771,1,1817,
+790,1,1818,2842,16,
+0,396,1,2037,820,
+1,2038,739,1,1385,
+803,1,2041,747,1,
+2043,711,1,1611,2843,
+16,0,396,1,1732,
+2844,16,0,396,1,
+1847,829,1,51,2845,
+19,127,1,51,2846,
+5,47,1,0,2847,
+16,0,125,1,2290,
+2803,1,2291,2808,1,
+1856,779,1,1857,674,
+1,1858,680,1,1859,
+685,1,1860,690,1,
+1862,696,1,10,2848,
+16,0,125,1,1864,
+701,1,1866,706,1,
+1868,797,1,1760,718,
+1,1870,724,1,1871,
+729,1,21,2849,16,
+0,125,1,1993,2850,
+16,0,125,1,32,
+2851,16,0,125,1,
+1467,761,1,2289,2798,
+1,1788,2852,16,0,
+125,1,2230,2779,1,
+52,2853,16,0,125,
+1,1637,667,1,1639,
+2854,16,0,125,1,
+1584,2855,16,0,125,
+1,1694,771,1,2217,
+2856,16,0,125,1,
+1817,790,1,1818,2857,
+16,0,125,1,2037,
+820,1,2038,739,1,
+1385,803,1,2258,2767,
+1,2041,747,1,2084,
+2858,16,0,125,1,
+2043,711,1,2045,2773,
+1,1611,2859,16,0,
+125,1,1514,2860,16,
+0,125,1,2269,2784,
+1,2270,2861,16,0,
+125,1,1732,2862,16,
+0,125,1,1469,2863,
+16,0,125,1,1847,
+829,1,2288,2792,1,
+52,2864,19,124,1,
+52,2865,5,47,1,
+0,2866,16,0,122,
+1,2290,2803,1,2291,
+2808,1,1856,779,1,
+1857,674,1,1858,680,
+1,1859,685,1,1860,
+690,1,1862,696,1,
+10,2867,16,0,122,
+1,1864,701,1,1866,
+706,1,1868,797,1,
+1760,718,1,1870,724,
+1,1871,729,1,21,
+2868,16,0,122,1,
+1993,2869,16,0,122,
+1,32,2870,16,0,
+122,1,1467,761,1,
+2289,2798,1,1788,2871,
+16,0,122,1,2230,
+2779,1,52,2872,16,
+0,122,1,1637,667,
+1,1639,2873,16,0,
+122,1,1584,2874,16,
+0,122,1,1694,771,
+1,2217,2875,16,0,
+122,1,1817,790,1,
+1818,2876,16,0,122,
+1,2037,820,1,2038,
+739,1,1385,803,1,
+2258,2767,1,2041,747,
+1,2084,2877,16,0,
+122,1,2043,711,1,
+2045,2773,1,1611,2878,
+16,0,122,1,1514,
+2879,16,0,122,1,
+2269,2784,1,2270,2880,
+16,0,122,1,1732,
+2881,16,0,122,1,
+1469,2882,16,0,122,
+1,1847,829,1,2288,
+2792,1,53,2883,19,
+121,1,53,2884,5,
+47,1,0,2885,16,
+0,119,1,2290,2803,
+1,2291,2808,1,1856,
+779,1,1857,674,1,
+1858,680,1,1859,685,
+1,1860,690,1,1862,
+696,1,10,2886,16,
+0,119,1,1864,701,
+1,1866,706,1,1868,
+797,1,1760,718,1,
+1870,724,1,1871,729,
+1,21,2887,16,0,
+119,1,1993,2888,16,
+0,119,1,32,2889,
+16,0,119,1,1467,
+761,1,2289,2798,1,
+1788,2890,16,0,119,
+1,2230,2779,1,52,
+2891,16,0,119,1,
+1637,667,1,1639,2892,
+16,0,119,1,1584,
+2893,16,0,119,1,
+1694,771,1,2217,2894,
+16,0,119,1,1817,
+790,1,1818,2895,16,
+0,119,1,2037,820,
+1,2038,739,1,1385,
+803,1,2258,2767,1,
+2041,747,1,2084,2896,
+16,0,119,1,2043,
+711,1,2045,2773,1,
+1611,2897,16,0,119,
+1,1514,2898,16,0,
+119,1,2269,2784,1,
+2270,2899,16,0,119,
+1,1732,2900,16,0,
+119,1,1469,2901,16,
+0,119,1,1847,829,
+1,2288,2792,1,54,
+2902,19,118,1,54,
+2903,5,47,1,0,
+2904,16,0,116,1,
+2290,2803,1,2291,2808,
+1,1856,779,1,1857,
+674,1,1858,680,1,
+1859,685,1,1860,690,
+1,1862,696,1,10,
+2905,16,0,116,1,
+1864,701,1,1866,706,
+1,1868,797,1,1760,
+718,1,1870,724,1,
+1871,729,1,21,2906,
+16,0,116,1,1993,
+2907,16,0,116,1,
+32,2908,16,0,116,
+1,1467,761,1,2289,
+2798,1,1788,2909,16,
+0,116,1,2230,2779,
+1,52,2910,16,0,
+116,1,1637,667,1,
+1639,2911,16,0,116,
+1,1584,2912,16,0,
+116,1,1694,771,1,
+2217,2913,16,0,116,
+1,1817,790,1,1818,
+2914,16,0,116,1,
+2037,820,1,2038,739,
+1,1385,803,1,2258,
+2767,1,2041,747,1,
+2084,2915,16,0,116,
+1,2043,711,1,2045,
+2773,1,1611,2916,16,
+0,116,1,1514,2917,
+16,0,116,1,2269,
+2784,1,2270,2918,16,
+0,116,1,1732,2919,
+16,0,116,1,1469,
+2920,16,0,116,1,
+1847,829,1,2288,2792,
+1,55,2921,19,115,
+1,55,2922,5,47,
+1,0,2923,16,0,
+113,1,2290,2803,1,
+2291,2808,1,1856,779,
+1,1857,674,1,1858,
+680,1,1859,685,1,
+1860,690,1,1862,696,
+1,10,2924,16,0,
+113,1,1864,701,1,
+1866,706,1,1868,797,
+1,1760,718,1,1870,
+724,1,1871,729,1,
+21,2925,16,0,113,
+1,1993,2926,16,0,
+113,1,32,2927,16,
+0,113,1,1467,761,
+1,2289,2798,1,1788,
+2928,16,0,113,1,
+2230,2779,1,52,2929,
+16,0,113,1,1637,
+667,1,1639,2930,16,
+0,113,1,1584,2931,
+16,0,113,1,1694,
+771,1,2217,2932,16,
+0,113,1,1817,790,
+1,1818,2933,16,0,
+113,1,2037,820,1,
+2038,739,1,1385,803,
+1,2258,2767,1,2041,
+747,1,2084,2934,16,
+0,113,1,2043,711,
+1,2045,2773,1,1611,
+2935,16,0,113,1,
+1514,2936,16,0,113,
+1,2269,2784,1,2270,
+2937,16,0,113,1,
+1732,2938,16,0,113,
+1,1469,2939,16,0,
+113,1,1847,829,1,
+2288,2792,1,56,2940,
+19,112,1,56,2941,
+5,47,1,0,2942,
+16,0,110,1,2290,
+2803,1,2291,2808,1,
+1856,779,1,1857,674,
+1,1858,680,1,1859,
+685,1,1860,690,1,
+1862,696,1,10,2943,
+16,0,110,1,1864,
+701,1,1866,706,1,
+1868,797,1,1760,718,
+1,1870,724,1,1871,
+729,1,21,2944,16,
+0,110,1,1993,2945,
+16,0,110,1,32,
+2946,16,0,110,1,
+1467,761,1,2289,2798,
+1,1788,2947,16,0,
+110,1,2230,2779,1,
+52,2948,16,0,110,
+1,1637,667,1,1639,
+2949,16,0,110,1,
+1584,2950,16,0,110,
+1,1694,771,1,2217,
+2951,16,0,110,1,
+1817,790,1,1818,2952,
+16,0,110,1,2037,
+820,1,2038,739,1,
+1385,803,1,2258,2767,
+1,2041,747,1,2084,
+2953,16,0,110,1,
+2043,711,1,2045,2773,
+1,1611,2954,16,0,
+110,1,1514,2955,16,
+0,110,1,2269,2784,
+1,2270,2956,16,0,
+110,1,1732,2957,16,
+0,110,1,1469,2958,
+16,0,110,1,1847,
+829,1,2288,2792,1,
+57,2959,19,109,1,
+57,2960,5,47,1,
+0,2961,16,0,107,
+1,2290,2803,1,2291,
+2808,1,1856,779,1,
+1857,674,1,1858,680,
+1,1859,685,1,1860,
+690,1,1862,696,1,
+10,2962,16,0,107,
+1,1864,701,1,1866,
+706,1,1868,797,1,
+1760,718,1,1870,724,
+1,1871,729,1,21,
+2963,16,0,107,1,
+1993,2964,16,0,107,
+1,32,2965,16,0,
+107,1,1467,761,1,
+2289,2798,1,1788,2966,
+16,0,107,1,2230,
+2779,1,52,2967,16,
+0,107,1,1637,667,
+1,1639,2968,16,0,
+107,1,1584,2969,16,
+0,107,1,1694,771,
+1,2217,2970,16,0,
+107,1,1817,790,1,
+1818,2971,16,0,107,
+1,2037,820,1,2038,
+739,1,1385,803,1,
+2258,2767,1,2041,747,
+1,2084,2972,16,0,
+107,1,2043,711,1,
+2045,2773,1,1611,2973,
+16,0,107,1,1514,
+2974,16,0,107,1,
+2269,2784,1,2270,2975,
+16,0,107,1,1732,
+2976,16,0,107,1,
+1469,2977,16,0,107,
+1,1847,829,1,2288,
+2792,1,58,2978,19,
+619,1,58,2979,5,
+9,1,2038,739,1,
+2043,711,1,2049,2980,
+16,0,617,1,2097,
+1391,1,2099,2981,16,
+0,617,1,2136,1406,
+1,2134,1400,1,2173,
+2982,16,0,617,1,
+2138,2983,16,0,617,
+1,59,2984,19,521,
+1,59,2985,5,9,
+1,2038,739,1,2043,
+711,1,2049,2986,16,
+0,519,1,2097,1391,
+1,2099,2987,16,0,
+519,1,2136,1406,1,
+2134,1400,1,2173,2988,
+16,0,519,1,2138,
+2989,16,0,519,1,
+60,2990,19,518,1,
+60,2991,5,9,1,
+2038,739,1,2043,711,
+1,2049,2992,16,0,
+516,1,2097,1391,1,
+2099,2993,16,0,516,
+1,2136,1406,1,2134,
+1400,1,2173,2994,16,
+0,516,1,2138,2995,
+16,0,516,1,61,
+2996,19,515,1,61,
+2997,5,9,1,2038,
+739,1,2043,711,1,
+2049,2998,16,0,513,
+1,2097,1391,1,2099,
+2999,16,0,513,1,
+2136,1406,1,2134,1400,
+1,2173,3000,16,0,
+513,1,2138,3001,16,
+0,513,1,62,3002,
+19,512,1,62,3003,
+5,9,1,2038,739,
+1,2043,711,1,2049,
+3004,16,0,510,1,
+2097,1391,1,2099,3005,
+16,0,510,1,2136,
+1406,1,2134,1400,1,
+2173,3006,16,0,510,
+1,2138,3007,16,0,
+510,1,63,3008,19,
+509,1,63,3009,5,
+9,1,2038,739,1,
+2043,711,1,2049,3010,
+16,0,507,1,2097,
+1391,1,2099,3011,16,
+0,507,1,2136,1406,
+1,2134,1400,1,2173,
+3012,16,0,507,1,
+2138,3013,16,0,507,
+1,64,3014,19,506,
+1,64,3015,5,9,
+1,2038,739,1,2043,
+711,1,2049,3016,16,
+0,504,1,2097,1391,
+1,2099,3017,16,0,
+504,1,2136,1406,1,
+2134,1400,1,2173,3018,
+16,0,504,1,2138,
+3019,16,0,504,1,
+65,3020,19,503,1,
+65,3021,5,9,1,
+2038,739,1,2043,711,
+1,2049,3022,16,0,
+501,1,2097,1391,1,
+2099,3023,16,0,501,
+1,2136,1406,1,2134,
+1400,1,2173,3024,16,
+0,501,1,2138,3025,
+16,0,501,1,66,
+3026,19,258,1,66,
+3027,5,9,1,2038,
+739,1,2043,711,1,
+2049,3028,16,0,256,
+1,2097,1391,1,2099,
+3029,16,0,256,1,
+2136,1406,1,2134,1400,
+1,2173,3030,16,0,
+256,1,2138,3031,16,
+0,256,1,67,3032,
+19,499,1,67,3033,
+5,9,1,2038,739,
+1,2043,711,1,2049,
+3034,16,0,497,1,
+2097,1391,1,2099,3035,
+16,0,497,1,2136,
+1406,1,2134,1400,1,
+2173,3036,16,0,497,
+1,2138,3037,16,0,
+497,1,68,3038,19,
+496,1,68,3039,5,
+9,1,2038,739,1,
+2043,711,1,2049,3040,
+16,0,494,1,2097,
+1391,1,2099,3041,16,
+0,494,1,2136,1406,
+1,2134,1400,1,2173,
+3042,16,0,494,1,
+2138,3043,16,0,494,
+1,69,3044,19,561,
+1,69,3045,5,9,
+1,2038,739,1,2043,
+711,1,2049,3046,16,
+0,559,1,2097,1391,
+1,2099,3047,16,0,
+559,1,2136,1406,1,
+2134,1400,1,2173,3048,
+16,0,559,1,2138,
+3049,16,0,559,1,
+70,3050,19,558,1,
+70,3051,5,9,1,
+2038,739,1,2043,711,
+1,2049,3052,16,0,
+556,1,2097,1391,1,
+2099,3053,16,0,556,
+1,2136,1406,1,2134,
+1400,1,2173,3054,16,
+0,556,1,2138,3055,
+16,0,556,1,71,
+3056,19,489,1,71,
+3057,5,9,1,2038,
+739,1,2043,711,1,
+2049,3058,16,0,487,
+1,2097,1391,1,2099,
+3059,16,0,487,1,
+2136,1406,1,2134,1400,
+1,2173,3060,16,0,
+487,1,2138,3061,16,
+0,487,1,72,3062,
+19,603,1,72,3063,
+5,9,1,2038,739,
+1,2043,711,1,2049,
+3064,16,0,601,1,
+2097,1391,1,2099,3065,
+16,0,601,1,2136,
+1406,1,2134,1400,1,
+2173,3066,16,0,601,
+1,2138,3067,16,0,
+601,1,73,3068,19,
+485,1,73,3069,5,
+9,1,2038,739,1,
+2043,711,1,2049,3070,
+16,0,483,1,2097,
+1391,1,2099,3071,16,
+0,483,1,2136,1406,
+1,2134,1400,1,2173,
+3072,16,0,483,1,
+2138,3073,16,0,483,
+1,74,3074,19,482,
+1,74,3075,5,9,
+1,2038,739,1,2043,
+711,1,2049,3076,16,
+0,480,1,2097,1391,
+1,2099,3077,16,0,
+480,1,2136,1406,1,
+2134,1400,1,2173,3078,
+16,0,480,1,2138,
+3079,16,0,480,1,
+75,3080,19,479,1,
+75,3081,5,9,1,
+2038,739,1,2043,711,
+1,2049,3082,16,0,
+477,1,2097,1391,1,
+2099,3083,16,0,477,
+1,2136,1406,1,2134,
+1400,1,2173,3084,16,
+0,477,1,2138,3085,
+16,0,477,1,76,
+3086,19,476,1,76,
+3087,5,9,1,2038,
+739,1,2043,711,1,
+2049,3088,16,0,474,
+1,2097,1391,1,2099,
+3089,16,0,474,1,
+2136,1406,1,2134,1400,
+1,2173,3090,16,0,
+474,1,2138,3091,16,
+0,474,1,77,3092,
+19,473,1,77,3093,
+5,9,1,2038,739,
+1,2043,711,1,2049,
+3094,16,0,471,1,
+2097,1391,1,2099,3095,
+16,0,471,1,2136,
+1406,1,2134,1400,1,
+2173,3096,16,0,471,
+1,2138,3097,16,0,
+471,1,78,3098,19,
+470,1,78,3099,5,
+9,1,2038,739,1,
+2043,711,1,2049,3100,
+16,0,468,1,2097,
+1391,1,2099,3101,16,
+0,468,1,2136,1406,
+1,2134,1400,1,2173,
+3102,16,0,468,1,
+2138,3103,16,0,468,
+1,79,3104,19,467,
+1,79,3105,5,9,
+1,2038,739,1,2043,
+711,1,2049,3106,16,
+0,465,1,2097,1391,
+1,2099,3107,16,0,
+465,1,2136,1406,1,
+2134,1400,1,2173,3108,
+16,0,465,1,2138,
+3109,16,0,465,1,
+80,3110,19,464,1,
+80,3111,5,9,1,
+2038,739,1,2043,711,
+1,2049,3112,16,0,
+462,1,2097,1391,1,
+2099,3113,16,0,462,
+1,2136,1406,1,2134,
+1400,1,2173,3114,16,
+0,462,1,2138,3115,
+16,0,462,1,81,
+3116,19,461,1,81,
+3117,5,9,1,2038,
+739,1,2043,711,1,
+2049,3118,16,0,459,
+1,2097,1391,1,2099,
+3119,16,0,459,1,
+2136,1406,1,2134,1400,
+1,2173,3120,16,0,
+459,1,2138,3121,16,
+0,459,1,82,3122,
+19,458,1,82,3123,
+5,9,1,2038,739,
+1,2043,711,1,2049,
+3124,16,0,456,1,
+2097,1391,1,2099,3125,
+16,0,456,1,2136,
+1406,1,2134,1400,1,
+2173,3126,16,0,456,
+1,2138,3127,16,0,
+456,1,83,3128,19,
+551,1,83,3129,5,
+9,1,2038,739,1,
+2043,711,1,2049,3130,
+16,0,549,1,2097,
+1391,1,2099,3131,16,
+0,549,1,2136,1406,
+1,2134,1400,1,2173,
+3132,16,0,549,1,
+2138,3133,16,0,549,
+1,84,3134,19,596,
+1,84,3135,5,9,
+1,2038,739,1,2043,
+711,1,2049,3136,16,
+0,594,1,2097,1391,
+1,2099,3137,16,0,
+594,1,2136,1406,1,
+2134,1400,1,2173,3138,
+16,0,594,1,2138,
+3139,16,0,594,1,
+85,3140,19,593,1,
+85,3141,5,9,1,
+2038,739,1,2043,711,
+1,2049,3142,16,0,
+591,1,2097,1391,1,
+2099,3143,16,0,591,
+1,2136,1406,1,2134,
+1400,1,2173,3144,16,
+0,591,1,2138,3145,
+16,0,591,1,86,
+3146,19,544,1,86,
+3147,5,9,1,2038,
+739,1,2043,711,1,
+2049,3148,16,0,542,
+1,2097,1391,1,2099,
+3149,16,0,542,1,
+2136,1406,1,2134,1400,
+1,2173,3150,16,0,
+542,1,2138,3151,16,
+0,542,1,87,3152,
+19,449,1,87,3153,
+5,9,1,2038,739,
+1,2043,711,1,2049,
+3154,16,0,447,1,
+2097,1391,1,2099,3155,
+16,0,447,1,2136,
+1406,1,2134,1400,1,
+2173,3156,16,0,447,
+1,2138,3157,16,0,
+447,1,88,3158,19,
+590,1,88,3159,5,
+9,1,2038,739,1,
+2043,711,1,2049,3160,
+16,0,588,1,2097,
+1391,1,2099,3161,16,
+0,588,1,2136,1406,
+1,2134,1400,1,2173,
+3162,16,0,588,1,
+2138,3163,16,0,588,
+1,89,3164,19,235,
+1,89,3165,5,9,
+1,2038,739,1,2043,
+711,1,2049,3166,16,
+0,233,1,2097,1391,
+1,2099,3167,16,0,
+233,1,2136,1406,1,
+2134,1400,1,2173,3168,
+16,0,233,1,2138,
+3169,16,0,233,1,
+90,3170,19,540,1,
+90,3171,5,9,1,
+2038,739,1,2043,711,
+1,2049,3172,16,0,
+538,1,2097,1391,1,
+2099,3173,16,0,538,
+1,2136,1406,1,2134,
+1400,1,2173,3174,16,
+0,538,1,2138,3175,
+16,0,538,1,91,
+3176,19,133,1,91,
+3177,5,109,1,0,
+3178,16,0,201,1,
+1,1708,1,2,1714,
+1,3,1719,1,4,
+1724,1,5,1729,1,
+6,1734,1,7,1739,
+1,8,3179,16,0,
+131,1,2269,2784,1,
+2270,3180,16,0,201,
+1,256,3181,16,0,
+183,1,18,3182,16,
+0,147,1,504,3183,
+16,0,183,1,277,
+3184,16,0,183,1,
+2288,2792,1,2289,2798,
+1,2290,2803,1,32,
+3185,16,0,177,1,
+2041,747,1,2043,711,
+1,1292,3186,16,0,
+183,1,2047,3187,16,
+0,585,1,41,3188,
+16,0,183,1,43,
+3189,16,0,183,1,
+46,3190,16,0,187,
+1,299,3191,16,0,
+183,1,1993,3192,16,
+0,177,1,52,3193,
+16,0,183,1,1559,
+3194,16,0,183,1,
+1514,3195,16,0,177,
+1,1760,718,1,1818,
+3196,16,0,177,1,
+62,3197,16,0,207,
+1,1763,3198,16,0,
+183,1,65,3199,16,
+0,209,1,71,3200,
+16,0,183,1,1327,
+3201,16,0,183,1,
+76,3202,16,0,183,
+1,1584,3203,16,0,
+177,1,79,3204,16,
+0,183,1,322,3205,
+16,0,183,1,1257,
+3206,16,0,183,1,
+85,3207,16,0,183,
+1,1788,3208,16,0,
+177,1,89,3209,16,
+0,183,1,1847,829,
+1,1849,3210,16,0,
+315,1,2037,820,1,
+1852,3211,16,0,319,
+1,1854,3212,16,0,
+323,1,1856,779,1,
+1857,674,1,1858,680,
+1,1859,685,1,1860,
+690,1,1862,696,1,
+1864,701,1,1866,706,
+1,1115,3213,16,0,
+183,1,112,3214,16,
+0,183,1,1870,724,
+1,1871,729,1,97,
+3215,16,0,183,1,
+1817,790,1,346,3216,
+16,0,183,1,372,
+3217,16,0,434,1,
+102,3218,16,0,183,
+1,374,3219,16,0,
+436,1,124,3220,16,
+0,183,1,376,3221,
+16,0,438,1,378,
+3222,16,0,440,1,
+1385,803,1,1637,667,
+1,384,3223,16,0,
+183,1,137,3224,16,
+0,183,1,1396,3225,
+16,0,183,1,381,
+3226,16,0,183,1,
+397,3227,16,0,183,
+1,1152,3228,16,0,
+183,1,151,3229,16,
+0,183,1,1611,3230,
+16,0,177,1,2038,
+739,1,1668,3231,16,
+0,183,1,166,3232,
+16,0,183,1,2045,
+2773,1,1868,797,1,
+1432,3233,16,0,183,
+1,2291,2808,1,1111,
+3234,16,0,624,1,
+182,3235,16,0,183,
+1,1187,3236,16,0,
+183,1,422,3237,16,
+0,183,1,1694,771,
+1,447,3238,16,0,
+183,1,199,3239,16,
+0,183,1,1707,3240,
+16,0,183,1,1467,
+761,1,1469,3241,16,
+0,177,1,217,3242,
+16,0,183,1,1222,
+3243,16,0,183,1,
+2230,2779,1,2233,3244,
+16,0,183,1,1732,
+3245,16,0,177,1,
+463,3246,16,0,183,
+1,236,3247,16,0,
+183,1,488,3248,16,
+0,183,1,1639,3249,
+16,0,177,1,2258,
+2767,1,92,3250,19,
+576,1,92,3251,5,
+79,1,1584,3252,16,
+0,574,1,1639,3253,
+16,0,574,1,1637,
+667,1,112,3254,16,
+0,574,1,1857,674,
+1,1858,680,1,1859,
+685,1,1860,690,1,
+1611,3255,16,0,574,
+1,1862,696,1,1864,
+701,1,1866,706,1,
+2043,711,1,124,3256,
+16,0,574,1,1760,
+718,1,1870,724,1,
+1871,729,1,1763,3257,
+16,0,574,1,1222,
+3258,16,0,574,1,
+1993,3259,16,0,574,
+1,1115,3260,16,0,
+574,1,447,3261,16,
+0,574,1,1187,3262,
+16,0,574,1,137,
+3263,16,0,574,1,
+2038,739,1,346,3264,
+16,0,574,1,32,
+3265,16,0,574,1,
+1668,3266,16,0,574,
+1,2041,747,1,236,
+3267,16,0,574,1,
+1514,3268,16,0,574,
+1,256,3269,16,0,
+574,1,41,3270,16,
+0,574,1,151,3271,
+16,0,574,1,43,
+3272,16,0,574,1,
+1732,3273,16,0,574,
+1,384,3274,16,0,
+574,1,1467,761,1,
+52,3275,16,0,574,
+1,2233,3276,16,0,
+574,1,381,3277,16,
+0,574,1,166,3278,
+16,0,574,1,1257,
+3279,16,0,574,1,
+1694,771,1,1432,3280,
+16,0,574,1,1152,
+3281,16,0,574,1,
+1856,779,1,62,3282,
+16,0,574,1,504,
+3283,16,0,574,1,
+277,3284,16,0,574,
+1,397,3285,16,0,
+574,1,71,3286,16,
+0,574,1,1707,3287,
+16,0,574,1,1817,
+790,1,1818,3288,16,
+0,574,1,1868,797,
+1,76,3289,16,0,
+574,1,1385,803,1,
+79,3290,16,0,574,
+1,182,3291,16,0,
+574,1,299,3292,16,
+0,574,1,1559,3293,
+16,0,574,1,85,
+3294,16,0,574,1,
+488,3295,16,0,574,
+1,1396,3296,16,0,
+574,1,89,3297,16,
+0,574,1,199,3298,
+16,0,574,1,463,
+3299,16,0,574,1,
+1292,3300,16,0,574,
+1,422,3301,16,0,
+574,1,2037,820,1,
+97,3302,16,0,574,
+1,1469,3303,16,0,
+574,1,1788,3304,16,
+0,574,1,102,3305,
+16,0,574,1,1847,
+829,1,322,3306,16,
+0,574,1,1327,3307,
+16,0,574,1,217,
+3308,16,0,574,1,
+93,3309,19,573,1,
+93,3310,5,79,1,
+1584,3311,16,0,571,
+1,1639,3312,16,0,
+571,1,1637,667,1,
+112,3313,16,0,571,
+1,1857,674,1,1858,
+680,1,1859,685,1,
+1860,690,1,1611,3314,
+16,0,571,1,1862,
+696,1,1864,701,1,
+1866,706,1,2043,711,
+1,124,3315,16,0,
+571,1,1760,718,1,
+1870,724,1,1871,729,
+1,1763,3316,16,0,
+571,1,1222,3317,16,
+0,571,1,1993,3318,
+16,0,571,1,1115,
+3319,16,0,571,1,
+447,3320,16,0,571,
+1,1187,3321,16,0,
+571,1,137,3322,16,
+0,571,1,2038,739,
+1,346,3323,16,0,
+571,1,32,3324,16,
+0,571,1,1668,3325,
+16,0,571,1,2041,
+747,1,236,3326,16,
+0,571,1,1514,3327,
+16,0,571,1,256,
+3328,16,0,571,1,
+41,3329,16,0,571,
+1,151,3330,16,0,
+571,1,43,3331,16,
+0,571,1,1732,3332,
+16,0,571,1,384,
+3333,16,0,571,1,
+1467,761,1,52,3334,
+16,0,571,1,2233,
+3335,16,0,571,1,
+381,3336,16,0,571,
+1,166,3337,16,0,
+571,1,1257,3338,16,
+0,571,1,1694,771,
+1,1432,3339,16,0,
+571,1,1152,3340,16,
+0,571,1,1856,779,
+1,62,3341,16,0,
+571,1,504,3342,16,
+0,571,1,277,3343,
+16,0,571,1,397,
+3344,16,0,571,1,
+71,3345,16,0,571,
+1,1707,3346,16,0,
+571,1,1817,790,1,
+1818,3347,16,0,571,
+1,1868,797,1,76,
+3348,16,0,571,1,
+1385,803,1,79,3349,
+16,0,571,1,182,
+3350,16,0,571,1,
+299,3351,16,0,571,
+1,1559,3352,16,0,
+571,1,85,3353,16,
+0,571,1,488,3354,
+16,0,571,1,1396,
+3355,16,0,571,1,
+89,3356,16,0,571,
+1,199,3357,16,0,
+571,1,463,3358,16,
+0,571,1,1292,3359,
+16,0,571,1,422,
+3360,16,0,571,1,
+2037,820,1,97,3361,
+16,0,571,1,1469,
+3362,16,0,571,1,
+1788,3363,16,0,571,
+1,102,3364,16,0,
+571,1,1847,829,1,
+322,3365,16,0,571,
+1,1327,3366,16,0,
+571,1,217,3367,16,
+0,571,1,94,3368,
+19,570,1,94,3369,
+5,79,1,1584,3370,
+16,0,568,1,1639,
+3371,16,0,568,1,
+1637,667,1,112,3372,
+16,0,568,1,1857,
+674,1,1858,680,1,
+1859,685,1,1860,690,
+1,1611,3373,16,0,
+568,1,1862,696,1,
+1864,701,1,1866,706,
+1,2043,711,1,124,
+3374,16,0,568,1,
+1760,718,1,1870,724,
+1,1871,729,1,1763,
+3375,16,0,568,1,
+1222,3376,16,0,568,
+1,1993,3377,16,0,
+568,1,1115,3378,16,
+0,568,1,447,3379,
+16,0,568,1,1187,
+3380,16,0,568,1,
+137,3381,16,0,568,
+1,2038,739,1,346,
+3382,16,0,568,1,
+32,3383,16,0,568,
+1,1668,3384,16,0,
+568,1,2041,747,1,
+236,3385,16,0,568,
+1,1514,3386,16,0,
+568,1,256,3387,16,
+0,568,1,41,3388,
+16,0,568,1,151,
+3389,16,0,568,1,
+43,3390,16,0,568,
+1,1732,3391,16,0,
+568,1,384,3392,16,
+0,568,1,1467,761,
+1,52,3393,16,0,
+568,1,2233,3394,16,
+0,568,1,381,3395,
+16,0,568,1,166,
+3396,16,0,568,1,
+1257,3397,16,0,568,
+1,1694,771,1,1432,
+3398,16,0,568,1,
+1152,3399,16,0,568,
+1,1856,779,1,62,
+3400,16,0,568,1,
+504,3401,16,0,568,
+1,277,3402,16,0,
+568,1,397,3403,16,
+0,568,1,71,3404,
+16,0,568,1,1707,
+3405,16,0,568,1,
+1817,790,1,1818,3406,
+16,0,568,1,1868,
+797,1,76,3407,16,
+0,568,1,1385,803,
+1,79,3408,16,0,
+568,1,182,3409,16,
+0,568,1,299,3410,
+16,0,568,1,1559,
+3411,16,0,568,1,
+85,3412,16,0,568,
+1,488,3413,16,0,
+568,1,1396,3414,16,
+0,568,1,89,3415,
+16,0,568,1,199,
+3416,16,0,568,1,
+463,3417,16,0,568,
+1,1292,3418,16,0,
+568,1,422,3419,16,
+0,568,1,2037,820,
+1,97,3420,16,0,
+568,1,1469,3421,16,
+0,568,1,1788,3422,
+16,0,568,1,102,
+3423,16,0,568,1,
+1847,829,1,322,3424,
+16,0,568,1,1327,
+3425,16,0,568,1,
+217,3426,16,0,568,
+1,95,3427,19,103,
+1,95,3428,5,1,
+1,0,3429,16,0,
+104,1,96,3430,19,
+388,1,96,3431,5,
+1,1,0,3432,16,
+0,386,1,97,3433,
+19,273,1,97,3434,
+5,2,1,0,3435,
+16,0,275,1,2270,
+3436,16,0,271,1,
+98,3437,19,204,1,
+98,3438,5,2,1,
+0,3439,16,0,274,
+1,2270,3440,16,0,
+202,1,99,3441,19,
+199,1,99,3442,5,
+2,1,0,3443,16,
+0,612,1,2270,3444,
+16,0,197,1,100,
+3445,19,615,1,100,
+3446,5,4,1,0,
+3447,16,0,616,1,
+2211,3448,16,0,613,
+1,2281,3449,16,0,
+613,1,2270,3450,16,
+0,616,1,101,3451,
+19,217,1,101,3452,
+5,2,1,2049,3453,
+16,0,215,1,2138,
+3454,16,0,583,1,
+102,3455,19,606,1,
+102,3456,5,4,1,
+2049,3457,16,0,607,
+1,2138,3458,16,0,
+607,1,2173,3459,16,
+0,604,1,2099,3460,
+16,0,604,1,103,
+3461,19,150,1,103,
+3462,5,3,1,2084,
+3463,16,0,625,1,
+2217,3464,16,0,282,
+1,10,3465,16,0,
+148,1,104,3466,19,
+162,1,104,3467,5,
+16,1,0,3468,16,
+0,220,1,1818,3469,
+16,0,409,1,2084,
+3470,16,0,533,1,
+1584,3471,16,0,486,
+1,10,3472,16,0,
+533,1,1639,3473,16,
+0,409,1,1788,3474,
+16,0,409,1,2270,
+3475,16,0,220,1,
+1611,3476,16,0,409,
+1,21,3477,16,0,
+160,1,1993,3478,16,
+0,409,1,1469,3479,
+16,0,486,1,2217,
+3480,16,0,533,1,
+1732,3481,16,0,409,
+1,32,3482,16,0,
+409,1,1514,3483,16,
+0,486,1,105,3484,
+19,130,1,105,3485,
+5,17,1,0,3486,
+16,0,128,1,1818,
+3487,16,0,146,1,
+2084,3488,16,0,146,
+1,1584,3489,16,0,
+146,1,10,3490,16,
+0,146,1,1639,3491,
+16,0,146,1,1788,
+3492,16,0,146,1,
+2270,3493,16,0,128,
+1,52,3494,16,0,
+205,1,1611,3495,16,
+0,146,1,21,3496,
+16,0,146,1,1993,
+3497,16,0,146,1,
+1469,3498,16,0,146,
+1,2217,3499,16,0,
+146,1,1732,3500,16,
+0,146,1,32,3501,
+16,0,146,1,1514,
+3502,16,0,146,1,
+106,3503,19,525,1,
+106,3504,5,4,1,
+2049,3505,16,0,523,
+1,2138,3506,16,0,
+523,1,2173,3507,16,
+0,523,1,2099,3508,
+16,0,523,1,107,
+3509,19,289,1,107,
+3510,5,10,1,1818,
+3511,16,0,324,1,
+2228,3512,16,0,287,
+1,1639,3513,16,0,
+324,1,1788,3514,16,
+0,324,1,1611,3515,
+16,0,324,1,2095,
+3516,16,0,529,1,
+1732,3517,16,0,324,
+1,31,3518,16,0,
+532,1,1993,3519,16,
+0,324,1,32,3520,
+16,0,324,1,108,
+3521,19,547,1,108,
+3522,5,1,1,32,
+3523,16,0,545,1,
+109,3524,19,292,1,
+109,3525,5,7,1,
+1639,3526,16,0,621,
+1,1993,3527,16,0,
+424,1,1818,3528,16,
+0,308,1,1732,3529,
+16,0,358,1,1788,
+3530,16,0,290,1,
+1611,3531,16,0,597,
+1,32,3532,16,0,
+429,1,110,3533,19,
+353,1,110,3534,5,
+10,1,1818,3535,16,
+0,351,1,1639,3536,
+16,0,351,1,1788,
+3537,16,0,351,1,
+1732,3538,16,0,351,
+1,1611,3539,16,0,
+351,1,1469,3540,16,
+0,401,1,1584,3541,
+16,0,401,1,1993,
+3542,16,0,351,1,
+1514,3543,16,0,535,
+1,32,3544,16,0,
+351,1,111,3545,19,
+408,1,111,3546,5,
+7,1,1639,3547,16,
+0,406,1,1993,3548,
+16,0,406,1,1818,
+3549,16,0,406,1,
+1732,3550,16,0,406,
+1,1788,3551,16,0,
+406,1,1611,3552,16,
+0,406,1,32,3553,
+16,0,406,1,112,
+3554,19,345,1,112,
+3555,5,7,1,1639,
+3556,16,0,343,1,
+1993,3557,16,0,343,
+1,1818,3558,16,0,
+343,1,1732,3559,16,
+0,343,1,1788,3560,
+16,0,343,1,1611,
+3561,16,0,343,1,
+32,3562,16,0,343,
+1,113,3563,19,341,
+1,113,3564,5,7,
+1,1639,3565,16,0,
+339,1,1993,3566,16,
+0,339,1,1818,3567,
+16,0,339,1,1732,
+3568,16,0,339,1,
+1788,3569,16,0,339,
+1,1611,3570,16,0,
+339,1,32,3571,16,
+0,339,1,114,3572,
+19,381,1,114,3573,
+5,7,1,1639,3574,
+16,0,379,1,1993,
+3575,16,0,379,1,
+1818,3576,16,0,379,
+1,1732,3577,16,0,
+379,1,1788,3578,16,
+0,379,1,1611,3579,
+16,0,379,1,32,
+3580,16,0,379,1,
+115,3581,19,334,1,
+115,3582,5,7,1,
+1639,3583,16,0,332,
+1,1993,3584,16,0,
+332,1,1818,3585,16,
+0,332,1,1732,3586,
+16,0,332,1,1788,
+3587,16,0,332,1,
+1611,3588,16,0,332,
+1,32,3589,16,0,
+332,1,116,3590,19,
+378,1,116,3591,5,
+7,1,1639,3592,16,
+0,376,1,1993,3593,
+16,0,376,1,1818,
+3594,16,0,376,1,
+1732,3595,16,0,376,
+1,1788,3596,16,0,
+376,1,1611,3597,16,
+0,376,1,32,3598,
+16,0,376,1,117,
+3599,19,330,1,117,
+3600,5,7,1,1639,
+3601,16,0,328,1,
+1993,3602,16,0,328,
+1,1818,3603,16,0,
+328,1,1732,3604,16,
+0,328,1,1788,3605,
+16,0,328,1,1611,
+3606,16,0,328,1,
+32,3607,16,0,328,
+1,118,3608,19,327,
+1,118,3609,5,7,
+1,1639,3610,16,0,
+325,1,1993,3611,16,
+0,325,1,1818,3612,
+16,0,325,1,1732,
+3613,16,0,325,1,
+1788,3614,16,0,325,
+1,1611,3615,16,0,
+325,1,32,3616,16,
+0,325,1,119,3617,
+19,492,1,119,3618,
+5,2,1,1584,3619,
+16,0,581,1,1469,
+3620,16,0,490,1,
+120,3621,19,432,1,
+120,3622,5,57,1,
+1584,3623,16,0,430,
+1,1639,3624,16,0,
+430,1,112,3625,16,
+0,430,1,384,3626,
+16,0,430,1,447,
+3627,16,0,430,1,
+124,3628,16,0,430,
+1,236,3629,16,0,
+430,1,1763,3630,16,
+0,430,1,1222,3631,
+16,0,430,1,1115,
+3632,16,0,430,1,
+1187,3633,16,0,430,
+1,137,3634,16,0,
+430,1,346,3635,16,
+0,430,1,32,3636,
+16,0,430,1,1668,
+3637,16,0,430,1,
+1514,3638,16,0,430,
+1,256,3639,16,0,
+430,1,41,3640,16,
+0,430,1,151,3641,
+16,0,430,1,43,
+3642,16,0,430,1,
+1788,3643,16,0,430,
+1,1993,3644,16,0,
+430,1,52,3645,16,
+0,430,1,2233,3646,
+16,0,430,1,381,
+3647,16,0,430,1,
+166,3648,16,0,430,
+1,1257,3649,16,0,
+430,1,277,3650,16,
+0,430,1,1432,3651,
+16,0,430,1,1152,
+3652,16,0,430,1,
+62,3653,16,0,536,
+1,504,3654,16,0,
+430,1,488,3655,16,
+0,430,1,397,3656,
+16,0,430,1,71,
+3657,16,0,430,1,
+1707,3658,16,0,430,
+1,182,3659,16,0,
+430,1,1818,3660,16,
+0,430,1,463,3661,
+16,0,430,1,76,
+3662,16,0,430,1,
+79,3663,16,0,430,
+1,1611,3664,16,0,
+430,1,299,3665,16,
+0,430,1,1559,3666,
+16,0,430,1,85,
+3667,16,0,430,1,
+1396,3668,16,0,430,
+1,89,3669,16,0,
+430,1,199,3670,16,
+0,430,1,1292,3671,
+16,0,430,1,422,
+3672,16,0,430,1,
+97,3673,16,0,430,
+1,1469,3674,16,0,
+430,1,1732,3675,16,
+0,430,1,102,3676,
+16,0,430,1,322,
+3677,16,0,430,1,
+1327,3678,16,0,430,
+1,217,3679,16,0,
+430,1,121,3680,19,
+452,1,121,3681,5,
+2,1,381,3682,16,
+0,450,1,41,3683,
+16,0,609,1,122,
+3684,19,145,1,122,
+3685,5,3,1,381,
+3686,16,0,143,1,
+41,3687,16,0,143,
+1,384,3688,16,0,
+455,1,123,3689,19,
+3690,4,36,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,65,0,
+114,0,103,0,117,
+0,109,0,101,0,
+110,0,116,0,1,
+123,3685,1,124,3691,
+19,443,1,124,3692,
+5,57,1,1584,3693,
+16,0,441,1,1639,
+3694,16,0,441,1,
+112,3695,16,0,441,
+1,384,3696,16,0,
+441,1,447,3697,16,
+0,441,1,124,3698,
+16,0,441,1,236,
+3699,16,0,441,1,
+1763,3700,16,0,441,
+1,1222,3701,16,0,
+441,1,1115,3702,16,
+0,441,1,1187,3703,
+16,0,441,1,137,
+3704,16,0,441,1,
+346,3705,16,0,441,
+1,32,3706,16,0,
+441,1,1668,3707,16,
+0,441,1,1514,3708,
+16,0,441,1,256,
+3709,16,0,441,1,
+41,3710,16,0,441,
+1,151,3711,16,0,
+441,1,43,3712,16,
+0,441,1,1788,3713,
+16,0,441,1,1993,
+3714,16,0,441,1,
+52,3715,16,0,441,
+1,2233,3716,16,0,
+441,1,381,3717,16,
+0,441,1,166,3718,
+16,0,441,1,1257,
+3719,16,0,441,1,
+277,3720,16,0,441,
+1,1432,3721,16,0,
+441,1,1152,3722,16,
+0,441,1,62,3723,
+16,0,587,1,504,
+3724,16,0,441,1,
+488,3725,16,0,441,
+1,397,3726,16,0,
+441,1,71,3727,16,
+0,441,1,1707,3728,
+16,0,441,1,182,
+3729,16,0,441,1,
+1818,3730,16,0,441,
+1,463,3731,16,0,
+441,1,76,3732,16,
+0,441,1,79,3733,
+16,0,441,1,1611,
+3734,16,0,441,1,
+299,3735,16,0,441,
+1,1559,3736,16,0,
+441,1,85,3737,16,
+0,441,1,1396,3738,
+16,0,441,1,89,
+3739,16,0,441,1,
+199,3740,16,0,441,
+1,1292,3741,16,0,
+441,1,422,3742,16,
+0,441,1,97,3743,
+16,0,441,1,1469,
+3744,16,0,441,1,
+1732,3745,16,0,441,
+1,102,3746,16,0,
+441,1,322,3747,16,
+0,441,1,1327,3748,
+16,0,441,1,217,
+3749,16,0,441,1,
+125,3750,19,3751,4,
+28,86,0,101,0,
+99,0,116,0,111,
+0,114,0,67,0,
+111,0,110,0,115,
+0,116,0,97,0,
+110,0,116,0,1,
+125,3692,1,126,3752,
+19,3753,4,32,82,
+0,111,0,116,0,
+97,0,116,0,105,
+0,111,0,110,0,
+67,0,111,0,110,
+0,115,0,116,0,
+97,0,110,0,116,
+0,1,126,3692,1,
+127,3754,19,3755,4,
+24,76,0,105,0,
+115,0,116,0,67,
+0,111,0,110,0,
+115,0,116,0,97,
+0,110,0,116,0,
+1,127,3692,1,128,
+3756,19,139,1,128,
+3757,5,56,1,1584,
+3758,16,0,428,1,
+1639,3759,16,0,382,
+1,112,3760,16,0,
+265,1,384,3761,16,
+0,179,1,447,3762,
+16,0,563,1,124,
+3763,16,0,270,1,
+236,3764,16,0,374,
+1,1763,3765,16,0,
+247,1,1222,3766,16,
+0,263,1,1115,3767,
+16,0,225,1,1187,
+3768,16,0,224,1,
+137,3769,16,0,301,
+1,346,3770,16,0,
+418,1,32,3771,16,
+0,382,1,1668,3772,
+16,0,200,1,1514,
+3773,16,0,526,1,
+256,3774,16,0,390,
+1,41,3775,16,0,
+179,1,151,3776,16,
+0,302,1,43,3777,
+16,0,579,1,1788,
+3778,16,0,382,1,
+1993,3779,16,0,382,
+1,52,3780,16,0,
+552,1,2233,3781,16,
+0,137,1,381,3782,
+16,0,179,1,166,
+3783,16,0,306,1,
+1257,3784,16,0,296,
+1,277,3785,16,0,
+399,1,1432,3786,16,
+0,412,1,1152,3787,
+16,0,266,1,504,
+3788,16,0,331,1,
+488,3789,16,0,580,
+1,397,3790,16,0,
+500,1,71,3791,16,
+0,218,1,1707,3792,
+16,0,300,1,182,
+3793,16,0,331,1,
+1818,3794,16,0,382,
+1,463,3795,16,0,
+331,1,76,3796,16,
+0,454,1,79,3797,
+16,0,226,1,1611,
+3798,16,0,382,1,
+299,3799,16,0,405,
+1,1559,3800,16,0,
+548,1,85,3801,16,
+0,413,1,1396,3802,
+16,0,400,1,89,
+3803,16,0,243,1,
+199,3804,16,0,359,
+1,1292,3805,16,0,
+367,1,422,3806,16,
+0,530,1,97,3807,
+16,0,391,1,1469,
+3808,16,0,428,1,
+1732,3809,16,0,382,
+1,102,3810,16,0,
+252,1,322,3811,16,
+0,414,1,1327,3812,
+16,0,365,1,217,
+3813,16,0,366,1,
+129,3814,19,3815,4,
+36,67,0,111,0,
+110,0,115,0,116,
+0,97,0,110,0,
+116,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,1,129,3757,
+1,130,3816,19,3817,
+4,30,73,0,100,
+0,101,0,110,0,
+116,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,1,130,3757,
+1,131,3818,19,3819,
+4,36,73,0,100,
+0,101,0,110,0,
+116,0,68,0,111,
+0,116,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,1,131,
+3757,1,132,3820,19,
+3821,4,44,70,0,
+117,0,110,0,99,
+0,116,0,105,0,
+111,0,110,0,67,
+0,97,0,108,0,
+108,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,1,132,3757,
+1,133,3822,19,3823,
+4,32,66,0,105,
+0,110,0,97,0,
+114,0,121,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,1,
+133,3757,1,134,3824,
+19,3825,4,30,85,
+0,110,0,97,0,
+114,0,121,0,69,
+0,120,0,112,0,
+114,0,101,0,115,
+0,115,0,105,0,
+111,0,110,0,1,
+134,3757,1,135,3826,
+19,3827,4,36,84,
+0,121,0,112,0,
+101,0,99,0,97,
+0,115,0,116,0,
+69,0,120,0,112,
+0,114,0,101,0,
+115,0,115,0,105,
+0,111,0,110,0,
+1,135,3757,1,136,
+3828,19,3829,4,42,
+80,0,97,0,114,
+0,101,0,110,0,
+116,0,104,0,101,
+0,115,0,105,0,
+115,0,69,0,120,
+0,112,0,114,0,
+101,0,115,0,115,
+0,105,0,111,0,
+110,0,1,136,3757,
+1,137,3830,19,3831,
+4,56,73,0,110,
+0,99,0,114,0,
+101,0,109,0,101,
+0,110,0,116,0,
+68,0,101,0,99,
+0,114,0,101,0,
+109,0,101,0,110,
+0,116,0,69,0,
+120,0,112,0,114,
+0,101,0,115,0,
+115,0,105,0,111,
+0,110,0,1,137,
+3757,1,139,3832,19,
+651,1,139,3428,1,
+140,3833,19,634,1,
+140,3428,1,141,3834,
+19,2811,1,141,3431,
+1,142,3835,19,2801,
+1,142,3431,1,143,
+3836,19,2806,1,143,
+3431,1,144,3837,19,
+2796,1,144,3431,1,
+145,3838,19,2787,1,
+145,3434,1,146,3839,
+19,2771,1,146,3434,
+1,147,3840,19,2782,
+1,147,3438,1,148,
+3841,19,2777,1,148,
+3438,1,149,3842,19,
+656,1,149,3442,1,
+150,3843,19,646,1,
+150,3442,1,151,3844,
+19,661,1,151,3446,
+1,152,3845,19,640,
+1,152,3446,1,153,
+3846,19,1409,1,153,
+3452,1,154,3847,19,
+1404,1,154,3452,1,
+155,3848,19,1395,1,
+155,3456,1,156,3849,
+19,1428,1,156,3462,
+1,157,3850,19,1423,
+1,157,3462,1,158,
+3851,19,999,1,158,
+3467,1,159,3852,19,
+715,1,159,3510,1,
+160,3853,19,742,1,
+160,3510,1,161,3854,
+19,751,1,161,3522,
+1,162,3855,19,823,
+1,162,3522,1,163,
+3856,19,764,1,163,
+3525,1,164,3857,19,
+727,1,164,3525,1,
+165,3858,19,806,1,
+165,3525,1,166,3859,
+19,800,1,166,3525,
+1,167,3860,19,709,
+1,167,3525,1,168,
+3861,19,704,1,168,
+3525,1,169,3862,19,
+699,1,169,3525,1,
+170,3863,19,693,1,
+170,3525,1,171,3864,
+19,688,1,171,3525,
+1,172,3865,19,683,
+1,172,3525,1,173,
+3866,19,678,1,173,
+3525,1,174,3867,19,
+782,1,174,3525,1,
+175,3868,19,1168,1,
+175,3555,1,176,3869,
+19,1157,1,176,3564,
+1,177,3870,19,1151,
+1,177,3573,1,178,
+3871,19,1146,1,178,
+3573,1,179,3872,19,
+794,1,179,3582,1,
+180,3873,19,832,1,
+180,3582,1,181,3874,
+19,722,1,181,3591,
+1,182,3875,19,775,
+1,182,3600,1,183,
+3876,19,671,1,183,
+3609,1,184,3877,19,
+1340,1,184,3618,1,
+185,3878,19,1308,1,
+185,3618,1,186,3879,
+19,1012,1,186,3618,
+1,187,3880,19,1254,
+1,187,3618,1,188,
+3881,19,1292,1,188,
+3534,1,189,3882,19,
+1134,1,189,3534,1,
+190,3883,19,1036,1,
+190,3534,1,191,3884,
+19,993,1,191,3534,
+1,192,3885,19,1329,
+1,192,3534,1,193,
+3886,19,1298,1,193,
+3534,1,194,3887,19,
+1259,1,194,3534,1,
+195,3888,19,1179,1,
+195,3534,1,196,3889,
+19,1249,1,196,3546,
+1,197,3890,19,1238,
+1,197,3546,1,198,
+3891,19,1363,1,198,
+3692,1,199,3892,19,
+1358,1,199,3692,1,
+200,3893,19,1018,1,
+200,3692,1,201,3894,
+19,1334,1,201,3692,
+1,202,3895,19,1346,
+1,202,3692,1,203,
+3896,19,986,1,203,
+3692,1,204,3897,19,
+1108,1,204,3692,1,
+205,3898,19,1221,1,
+205,3757,1,206,3899,
+19,1026,1,206,3757,
+1,207,3900,19,1043,
+1,207,3757,1,208,
+3901,19,1064,1,208,
+3757,1,209,3902,19,
+1059,1,209,3757,1,
+210,3903,19,1054,1,
+210,3757,1,211,3904,
+19,1049,1,211,3757,
+1,212,3905,19,1205,
+1,212,3757,1,213,
+3906,19,1232,1,213,
+3757,1,214,3907,19,
+1281,1,214,3757,1,
+215,3908,19,1200,1,
+215,3757,1,216,3909,
+19,1190,1,216,3757,
+1,217,3910,19,1210,
+1,217,3757,1,218,
+3911,19,1129,1,218,
+3757,1,219,3912,19,
+1069,1,219,3757,1,
+220,3913,19,1031,1,
+220,3757,1,221,3914,
+19,1005,1,221,3757,
+1,222,3915,19,1353,
+1,222,3757,1,223,
+3916,19,1324,1,223,
+3757,1,224,3917,19,
+1314,1,224,3757,1,
+225,3918,19,1303,1,
+225,3757,1,226,3919,
+19,1286,1,226,3757,
+1,227,3920,19,1265,
+1,227,3757,1,228,
+3921,19,1243,1,228,
+3757,1,229,3922,19,
+1226,1,229,3757,1,
+230,3923,19,1184,1,
+230,3757,1,231,3924,
+19,1215,1,231,3757,
+1,232,3925,19,1270,
+1,232,3757,1,233,
+3926,19,1319,1,233,
+3757,1,234,3927,19,
+1124,1,234,3757,1,
+235,3928,19,1195,1,
+235,3757,1,236,3929,
+19,1162,1,236,3757,
+1,237,3930,19,1140,
+1,237,3757,1,238,
+3931,19,1114,1,238,
+3757,1,239,3932,19,
+1373,1,239,3757,1,
+240,3933,19,1077,1,
+240,3757,1,241,3934,
+19,1082,1,241,3757,
+1,242,3935,19,1102,
+1,242,3757,1,243,
+3936,19,1092,1,243,
+3757,1,244,3937,19,
+1097,1,244,3757,1,
+245,3938,19,1087,1,
+245,3757,1,246,3939,
+19,1368,1,246,3757,
+1,247,3940,19,1119,
+1,247,3757,1,248,
+3941,19,1276,1,248,
+3622,1,249,3942,19,
+1443,1,249,3681,1,
+250,3943,19,1454,1,
+250,3681,1,251,3944,
+19,1438,1,251,3685,
+1,252,3945,19,1742,
+1,252,3485,1,253,
+3946,19,1737,1,253,
+3485,1,254,3947,19,
+1732,1,254,3485,1,
+255,3948,19,1727,1,
+255,3485,1,256,3949,
+19,1722,1,256,3485,
+1,257,3950,19,1717,
+1,257,3485,1,258,
+3951,19,1712,1,258,
+3485,1,259,3952,19,
+1605,1,259,3504,1,
+260,3953,19,1600,1,
+260,3504,1,261,3954,
+19,1661,1,261,3504,
+1,262,3955,19,1688,
+1,262,3504,1,263,
+3956,19,1593,1,263,
+3504,1,264,3957,19,
+1588,1,264,3504,1,
+265,3958,19,1583,1,
+265,3504,1,266,3959,
+19,1578,1,266,3504,
+1,267,3960,19,1573,
+1,267,3504,1,268,
+3961,19,1568,1,268,
+3504,1,269,3962,19,
+1563,1,269,3504,1,
+270,3963,19,1653,1,
+270,3504,1,271,3964,
+19,1648,1,271,3504,
+1,272,3965,19,1643,
+1,272,3504,1,273,
+3966,19,1638,1,273,
+3504,1,274,3967,19,
+1555,1,274,3504,1,
+275,3968,19,1550,1,
+275,3504,1,276,3969,
+19,1545,1,276,3504,
+1,277,3970,19,1540,
+1,277,3504,1,278,
+3971,19,1535,1,278,
+3504,1,279,3972,19,
+1530,1,279,3504,1,
+280,3973,19,1525,1,
+280,3504,1,281,3974,
+19,1632,1,281,3504,
+1,282,3975,19,1519,
+1,282,3504,1,283,
+3976,19,1514,1,283,
+3504,1,284,3977,19,
+1626,1,284,3504,1,
+285,3978,19,1676,1,
+285,3504,1,286,3979,
+19,1507,1,286,3504,
+1,287,3980,19,1502,
+1,287,3504,1,288,
+3981,19,1497,1,288,
+3504,1,289,3982,19,
+1619,1,289,3504,1,
+290,3983,19,1704,1,
+290,3504,1,291,3984,
+19,1490,1,291,3504,
+1,292,3985,19,3986,
+4,50,65,0,114,
+0,103,0,117,0,
+109,0,101,0,110,
+0,116,0,68,0,
+101,0,99,0,108,
+0,97,0,114,0,
+97,0,116,0,105,
+0,111,0,110,0,
+76,0,105,0,115,
+0,116,0,95,0,
+51,0,1,292,3462,
+1,293,3987,19,3988,
+4,28,65,0,114,
+0,103,0,117,0,
+109,0,101,0,110,
+0,116,0,76,0,
+105,0,115,0,116,
+0,95,0,51,0,
+1,293,3681,1,294,
+3989,19,3990,4,24,
+83,0,116,0,97,
+0,116,0,101,0,
+109,0,101,0,110,
+0,116,0,95,0,
+49,0,51,0,1,
+294,3525,1,295,3991,
+19,3992,4,28,65,
+0,114,0,103,0,
+117,0,109,0,101,
+0,110,0,116,0,
+76,0,105,0,115,
+0,116,0,95,0,
+52,0,1,295,3681,
+1,296,3993,19,3994,
+4,50,65,0,114,
+0,103,0,117,0,
+109,0,101,0,110,
+0,116,0,68,0,
+101,0,99,0,108,
+0,97,0,114,0,
+97,0,116,0,105,
+0,111,0,110,0,
+76,0,105,0,115,
+0,116,0,95,0,
+52,0,1,296,3462,
+1,297,3995,19,3996,
+4,50,65,0,114,
+0,103,0,117,0,
+109,0,101,0,110,
+0,116,0,68,0,
+101,0,99,0,108,
+0,97,0,114,0,
+97,0,116,0,105,
+0,111,0,110,0,
+76,0,105,0,115,
+0,116,0,95,0,
+53,0,1,297,3462,
+2,0,0};
+new Sfactory(this,"ExpressionArgument_1",new SCreator(ExpressionArgument_1_factory));
+new Sfactory(this,"StatementList_1",new SCreator(StatementList_1_factory));
+new Sfactory(this,"StateChange_1",new SCreator(StateChange_1_factory));
+new Sfactory(this,"StateChange_2",new SCreator(StateChange_2_factory));
+new Sfactory(this,"Declaration",new SCreator(Declaration_factory));
+new Sfactory(this,"IdentExpression",new SCreator(IdentExpression_factory));
+new Sfactory(this,"error",new SCreator(error_factory));
+new Sfactory(this,"BinaryExpression_2",new SCreator(BinaryExpression_2_factory));
+new Sfactory(this,"BinaryExpression_3",new SCreator(BinaryExpression_3_factory));
+new Sfactory(this,"BinaryExpression_4",new SCreator(BinaryExpression_4_factory));
+new Sfactory(this,"BinaryExpression_5",new SCreator(BinaryExpression_5_factory));
+new Sfactory(this,"ReturnStatement_2",new SCreator(ReturnStatement_2_factory));
+new Sfactory(this,"BinaryExpression_8",new SCreator(BinaryExpression_8_factory));
+new Sfactory(this,"BinaryExpression_9",new SCreator(BinaryExpression_9_factory));
+new Sfactory(this,"VectorConstant_1",new SCreator(VectorConstant_1_factory));
+new Sfactory(this,"ParenthesisExpression",new SCreator(ParenthesisExpression_factory));
+new Sfactory(this,"UnaryExpression",new SCreator(UnaryExpression_factory));
+new Sfactory(this,"IdentDotExpression_1",new SCreator(IdentDotExpression_1_factory));
+new Sfactory(this,"Typename",new SCreator(Typename_factory));
+new Sfactory(this,"IfStatement_1",new SCreator(IfStatement_1_factory));
+new Sfactory(this,"Assignment",new SCreator(Assignment_factory));
+new Sfactory(this,"CompoundStatement_1",new SCreator(CompoundStatement_1_factory));
+new Sfactory(this,"CompoundStatement_2",new SCreator(CompoundStatement_2_factory));
+new Sfactory(this,"ReturnStatement_1",new SCreator(ReturnStatement_1_factory));
+new Sfactory(this,"IdentDotExpression",new SCreator(IdentDotExpression_factory));
+new Sfactory(this,"Argument",new SCreator(Argument_factory));
+new Sfactory(this,"State_2",new SCreator(State_2_factory));
+new Sfactory(this,"WhileStatement_1",new SCreator(WhileStatement_1_factory));
+new Sfactory(this,"GlobalDefinitions_3",new SCreator(GlobalDefinitions_3_factory));
+new Sfactory(this,"GlobalDefinitions_4",new SCreator(GlobalDefinitions_4_factory));
+new Sfactory(this,"Event_1",new SCreator(Event_1_factory));
+new Sfactory(this,"ListConstant",new SCreator(ListConstant_factory));
+new Sfactory(this,"Event_3",new SCreator(Event_3_factory));
+new Sfactory(this,"Event_4",new SCreator(Event_4_factory));
+new Sfactory(this,"Event_6",new SCreator(Event_6_factory));
+new Sfactory(this,"Typename_1",new SCreator(Typename_1_factory));
+new Sfactory(this,"Typename_2",new SCreator(Typename_2_factory));
+new Sfactory(this,"Typename_3",new SCreator(Typename_3_factory));
+new Sfactory(this,"Typename_4",new SCreator(Typename_4_factory));
+new Sfactory(this,"Typename_5",new SCreator(Typename_5_factory));
+new Sfactory(this,"Typename_6",new SCreator(Typename_6_factory));
+new Sfactory(this,"Typename_7",new SCreator(Typename_7_factory));
+new Sfactory(this,"ArgumentDeclarationList",new SCreator(ArgumentDeclarationList_factory));
+new Sfactory(this,"ConstantExpression",new SCreator(ConstantExpression_factory));
+new Sfactory(this,"LSLProgramRoot_1",new SCreator(LSLProgramRoot_1_factory));
+new Sfactory(this,"LSLProgramRoot_2",new SCreator(LSLProgramRoot_2_factory));
+new Sfactory(this,"States_1",new SCreator(States_1_factory));
+new Sfactory(this,"States_2",new SCreator(States_2_factory));
+new Sfactory(this,"FunctionCallExpression_1",new SCreator(FunctionCallExpression_1_factory));
+new Sfactory(this,"ForLoopStatement",new SCreator(ForLoopStatement_factory));
+new Sfactory(this,"DoWhileStatement_1",new SCreator(DoWhileStatement_1_factory));
+new Sfactory(this,"JumpLabel",new SCreator(JumpLabel_factory));
+new Sfactory(this,"JumpStatement_1",new SCreator(JumpStatement_1_factory));
+new Sfactory(this,"GlobalDefinitions",new SCreator(GlobalDefinitions_factory));
+new Sfactory(this,"FunctionCall_1",new SCreator(FunctionCall_1_factory));
+new Sfactory(this,"ArgumentList_3",new SCreator(ArgumentList_3_factory));
+new Sfactory(this,"Assignment_2",new SCreator(Assignment_2_factory));
+new Sfactory(this,"Assignment_4",new SCreator(Assignment_4_factory));
+new Sfactory(this,"Assignment_6",new SCreator(Assignment_6_factory));
+new Sfactory(this,"TypecastExpression_1",new SCreator(TypecastExpression_1_factory));
+new Sfactory(this,"TypecastExpression_4",new SCreator(TypecastExpression_4_factory));
+new Sfactory(this,"TypecastExpression_5",new SCreator(TypecastExpression_5_factory));
+new Sfactory(this,"TypecastExpression_6",new SCreator(TypecastExpression_6_factory));
+new Sfactory(this,"TypecastExpression_9",new SCreator(TypecastExpression_9_factory));
+new Sfactory(this,"ArgumentDeclarationList_1",new SCreator(ArgumentDeclarationList_1_factory));
+new Sfactory(this,"ArgumentDeclarationList_2",new SCreator(ArgumentDeclarationList_2_factory));
+new Sfactory(this,"ArgumentDeclarationList_3",new SCreator(ArgumentDeclarationList_3_factory));
+new Sfactory(this,"GlobalDefinitions_1",new SCreator(GlobalDefinitions_1_factory));
+new Sfactory(this,"GlobalDefinitions_2",new SCreator(GlobalDefinitions_2_factory));
+new Sfactory(this,"IncrementDecrementExpression",new SCreator(IncrementDecrementExpression_factory));
+new Sfactory(this,"GlobalVariableDeclaration",new SCreator(GlobalVariableDeclaration_factory));
+new Sfactory(this,"Event_11",new SCreator(Event_11_factory));
+new Sfactory(this,"TypecastExpression_2",new SCreator(TypecastExpression_2_factory));
+new Sfactory(this,"TypecastExpression_3",new SCreator(TypecastExpression_3_factory));
+new Sfactory(this,"TypecastExpression_8",new SCreator(TypecastExpression_8_factory));
+new Sfactory(this,"Constant_1",new SCreator(Constant_1_factory));
+new Sfactory(this,"Expression",new SCreator(Expression_factory));
+new Sfactory(this,"Constant_3",new SCreator(Constant_3_factory));
+new Sfactory(this,"Constant_4",new SCreator(Constant_4_factory));
+new Sfactory(this,"BinaryExpression_1",new SCreator(BinaryExpression_1_factory));
+new Sfactory(this,"IfStatement_2",new SCreator(IfStatement_2_factory));
+new Sfactory(this,"ReturnStatement",new SCreator(ReturnStatement_factory));
+new Sfactory(this,"Event_2",new SCreator(Event_2_factory));
+new Sfactory(this,"RotationConstant",new SCreator(RotationConstant_factory));
+new Sfactory(this,"Statement_13",new SCreator(Statement_13_factory));
+new Sfactory(this,"UnaryExpression_1",new SCreator(UnaryExpression_1_factory));
+new Sfactory(this,"UnaryExpression_2",new SCreator(UnaryExpression_2_factory));
+new Sfactory(this,"UnaryExpression_3",new SCreator(UnaryExpression_3_factory));
+new Sfactory(this,"ArgumentList_1",new SCreator(ArgumentList_1_factory));
+new Sfactory(this,"ArgumentList_2",new SCreator(ArgumentList_2_factory));
+new Sfactory(this,"Constant",new SCreator(Constant_factory));
+new Sfactory(this,"State",new SCreator(State_factory));
+new Sfactory(this,"LSLProgramRoot",new SCreator(LSLProgramRoot_factory));
+new Sfactory(this,"StateChange",new SCreator(StateChange_factory));
+new Sfactory(this,"IncrementDecrementExpression_2",new SCreator(IncrementDecrementExpression_2_factory));
+new Sfactory(this,"GlobalVariableDeclaration_1",new SCreator(GlobalVariableDeclaration_1_factory));
+new Sfactory(this,"GlobalVariableDeclaration_2",new SCreator(GlobalVariableDeclaration_2_factory));
+new Sfactory(this,"IncrementDecrementExpression_5",new SCreator(IncrementDecrementExpression_5_factory));
+new Sfactory(this,"GlobalFunctionDefinition_2",new SCreator(GlobalFunctionDefinition_2_factory));
+new Sfactory(this,"IncrementDecrementExpression_7",new SCreator(IncrementDecrementExpression_7_factory));
+new Sfactory(this,"IncrementDecrementExpression_8",new SCreator(IncrementDecrementExpression_8_factory));
+new Sfactory(this,"Assignment_1",new SCreator(Assignment_1_factory));
+new Sfactory(this,"Assignment_3",new SCreator(Assignment_3_factory));
+new Sfactory(this,"Assignment_5",new SCreator(Assignment_5_factory));
+new Sfactory(this,"Assignment_7",new SCreator(Assignment_7_factory));
+new Sfactory(this,"Assignment_8",new SCreator(Assignment_8_factory));
+new Sfactory(this,"Event_22",new SCreator(Event_22_factory));
+new Sfactory(this,"CompoundStatement",new SCreator(CompoundStatement_factory));
+new Sfactory(this,"RotationConstant_1",new SCreator(RotationConstant_1_factory));
+new Sfactory(this,"Event_13",new SCreator(Event_13_factory));
+new Sfactory(this,"Statement_1",new SCreator(Statement_1_factory));
+new Sfactory(this,"Statement_2",new SCreator(Statement_2_factory));
+new Sfactory(this,"Statement_3",new SCreator(Statement_3_factory));
+new Sfactory(this,"Statement_4",new SCreator(Statement_4_factory));
+new Sfactory(this,"Statement_5",new SCreator(Statement_5_factory));
+new Sfactory(this,"Statement_6",new SCreator(Statement_6_factory));
+new Sfactory(this,"Statement_7",new SCreator(Statement_7_factory));
+new Sfactory(this,"Statement_8",new SCreator(Statement_8_factory));
+new Sfactory(this,"Statement_9",new SCreator(Statement_9_factory));
+new Sfactory(this,"ExpressionArgument",new SCreator(ExpressionArgument_factory));
+new Sfactory(this,"GlobalFunctionDefinition",new SCreator(GlobalFunctionDefinition_factory));
+new Sfactory(this,"State_1",new SCreator(State_1_factory));
+new Sfactory(this,"DoWhileStatement",new SCreator(DoWhileStatement_factory));
+new Sfactory(this,"ParenthesisExpression_1",new SCreator(ParenthesisExpression_1_factory));
+new Sfactory(this,"Event_5",new SCreator(Event_5_factory));
+new Sfactory(this,"StateBody",new SCreator(StateBody_factory));
+new Sfactory(this,"Event_7",new SCreator(Event_7_factory));
+new Sfactory(this,"Event_8",new SCreator(Event_8_factory));
+new Sfactory(this,"IncrementDecrementExpression_1",new SCreator(IncrementDecrementExpression_1_factory));
+new Sfactory(this,"IncrementDecrementExpression_3",new SCreator(IncrementDecrementExpression_3_factory));
+new Sfactory(this,"IncrementDecrementExpression_4",new SCreator(IncrementDecrementExpression_4_factory));
+new Sfactory(this,"IncrementDecrementExpression_6",new SCreator(IncrementDecrementExpression_6_factory));
+new Sfactory(this,"StateEvent",new SCreator(StateEvent_factory));
+new Sfactory(this,"Event_20",new SCreator(Event_20_factory));
+new Sfactory(this,"Event_24",new SCreator(Event_24_factory));
+new Sfactory(this,"Event_26",new SCreator(Event_26_factory));
+new Sfactory(this,"Event",new SCreator(Event_factory));
+new Sfactory(this,"Statement_10",new SCreator(Statement_10_factory));
+new Sfactory(this,"Statement_11",new SCreator(Statement_11_factory));
+new Sfactory(this,"Statement_12",new SCreator(Statement_12_factory));
+new Sfactory(this,"TypecastExpression",new SCreator(TypecastExpression_factory));
+new Sfactory(this,"Event_15",new SCreator(Event_15_factory));
+new Sfactory(this,"Event_16",new SCreator(Event_16_factory));
+new Sfactory(this,"Event_32",new SCreator(Event_32_factory));
+new Sfactory(this,"BinaryExpression",new SCreator(BinaryExpression_factory));
+new Sfactory(this,"FunctionCallExpression",new SCreator(FunctionCallExpression_factory));
+new Sfactory(this,"BinaryExpression_11",new SCreator(BinaryExpression_11_factory));
+new Sfactory(this,"StateBody_1",new SCreator(StateBody_1_factory));
+new Sfactory(this,"StatementList_2",new SCreator(StatementList_2_factory));
+new Sfactory(this,"BinaryExpression_14",new SCreator(BinaryExpression_14_factory));
+new Sfactory(this,"BinaryExpression_15",new SCreator(BinaryExpression_15_factory));
+new Sfactory(this,"BinaryExpression_16",new SCreator(BinaryExpression_16_factory));
+new Sfactory(this,"BinaryExpression_17",new SCreator(BinaryExpression_17_factory));
+new Sfactory(this,"BinaryExpression_18",new SCreator(BinaryExpression_18_factory));
+new Sfactory(this,"Event_25",new SCreator(Event_25_factory));
+new Sfactory(this,"Event_9",new SCreator(Event_9_factory));
+new Sfactory(this,"Statement",new SCreator(Statement_factory));
+new Sfactory(this,"JumpStatement",new SCreator(JumpStatement_factory));
+new Sfactory(this,"BinaryExpression_12",new SCreator(BinaryExpression_12_factory));
+new Sfactory(this,"BinaryExpression_13",new SCreator(BinaryExpression_13_factory));
+new Sfactory(this,"BinaryExpression_6",new SCreator(BinaryExpression_6_factory));
+new Sfactory(this,"BinaryExpression_7",new SCreator(BinaryExpression_7_factory));
+new Sfactory(this,"ArgumentList",new SCreator(ArgumentList_factory));
+new Sfactory(this,"Event_10",new SCreator(Event_10_factory));
+new Sfactory(this,"ConstantExpression_1",new SCreator(ConstantExpression_1_factory));
+new Sfactory(this,"Event_12",new SCreator(Event_12_factory));
+new Sfactory(this,"Event_14",new SCreator(Event_14_factory));
+new Sfactory(this,"Event_17",new SCreator(Event_17_factory));
+new Sfactory(this,"Event_18",new SCreator(Event_18_factory));
+new Sfactory(this,"Event_19",new SCreator(Event_19_factory));
+new Sfactory(this,"BinaryExpression_10",new SCreator(BinaryExpression_10_factory));
+new Sfactory(this,"StateEvent_1",new SCreator(StateEvent_1_factory));
+new Sfactory(this,"VectorConstant",new SCreator(VectorConstant_factory));
+new Sfactory(this,"Event_21",new SCreator(Event_21_factory));
+new Sfactory(this,"Event_23",new SCreator(Event_23_factory));
+new Sfactory(this,"TypecastExpression_7",new SCreator(TypecastExpression_7_factory));
+new Sfactory(this,"FunctionCall",new SCreator(FunctionCall_factory));
+new Sfactory(this,"Event_27",new SCreator(Event_27_factory));
+new Sfactory(this,"Event_28",new SCreator(Event_28_factory));
+new Sfactory(this,"Event_29",new SCreator(Event_29_factory));
+new Sfactory(this,"ListConstant_1",new SCreator(ListConstant_1_factory));
+new Sfactory(this,"Declaration_1",new SCreator(Declaration_1_factory));
+new Sfactory(this,"ForLoop",new SCreator(ForLoop_factory));
+new Sfactory(this,"Event_30",new SCreator(Event_30_factory));
+new Sfactory(this,"Event_31",new SCreator(Event_31_factory));
+new Sfactory(this,"Event_33",new SCreator(Event_33_factory));
+new Sfactory(this,"GlobalFunctionDefinition_1",new SCreator(GlobalFunctionDefinition_1_factory));
+new Sfactory(this,"JumpLabel_1",new SCreator(JumpLabel_1_factory));
+new Sfactory(this,"ArgumentList_4",new SCreator(ArgumentList_4_factory));
+new Sfactory(this,"IfStatement",new SCreator(IfStatement_factory));
+new Sfactory(this,"ForLoopStatement_1",new SCreator(ForLoopStatement_1_factory));
+new Sfactory(this,"ForLoopStatement_2",new SCreator(ForLoopStatement_2_factory));
+new Sfactory(this,"ForLoopStatement_3",new SCreator(ForLoopStatement_3_factory));
+new Sfactory(this,"ForLoopStatement_4",new SCreator(ForLoopStatement_4_factory));
+new Sfactory(this,"ArgumentDeclarationList_4",new SCreator(ArgumentDeclarationList_4_factory));
+new Sfactory(this,"ArgumentDeclarationList_5",new SCreator(ArgumentDeclarationList_5_factory));
+new Sfactory(this,"WhileStatement",new SCreator(WhileStatement_factory));
+new Sfactory(this,"ForLoop_1",new SCreator(ForLoop_1_factory));
+new Sfactory(this,"Constant_2",new SCreator(Constant_2_factory));
+new Sfactory(this,"StatementList",new SCreator(StatementList_factory));
+new Sfactory(this,"StateBody_2",new SCreator(StateBody_2_factory));
+new Sfactory(this,"IdentExpression_1",new SCreator(IdentExpression_1_factory));
+new Sfactory(this,"States",new SCreator(States_factory));
+}
+public static object ExpressionArgument_1_factory(Parser yyp) { return new ExpressionArgument_1(yyp); }
+public static object StatementList_1_factory(Parser yyp) { return new StatementList_1(yyp); }
+public static object StateChange_1_factory(Parser yyp) { return new StateChange_1(yyp); }
+public static object StateChange_2_factory(Parser yyp) { return new StateChange_2(yyp); }
+public static object Declaration_factory(Parser yyp) { return new Declaration(yyp); }
+public static object IdentExpression_factory(Parser yyp) { return new IdentExpression(yyp); }
+public static object error_factory(Parser yyp) { return new error(yyp); }
+public static object BinaryExpression_2_factory(Parser yyp) { return new BinaryExpression_2(yyp); }
+public static object BinaryExpression_3_factory(Parser yyp) { return new BinaryExpression_3(yyp); }
+public static object BinaryExpression_4_factory(Parser yyp) { return new BinaryExpression_4(yyp); }
+public static object BinaryExpression_5_factory(Parser yyp) { return new BinaryExpression_5(yyp); }
+public static object ReturnStatement_2_factory(Parser yyp) { return new ReturnStatement_2(yyp); }
+public static object BinaryExpression_8_factory(Parser yyp) { return new BinaryExpression_8(yyp); }
+public static object BinaryExpression_9_factory(Parser yyp) { return new BinaryExpression_9(yyp); }
+public static object VectorConstant_1_factory(Parser yyp) { return new VectorConstant_1(yyp); }
+public static object ParenthesisExpression_factory(Parser yyp) { return new ParenthesisExpression(yyp); }
+public static object UnaryExpression_factory(Parser yyp) { return new UnaryExpression(yyp); }
+public static object IdentDotExpression_1_factory(Parser yyp) { return new IdentDotExpression_1(yyp); }
+public static object Typename_factory(Parser yyp) { return new Typename(yyp); }
+public static object IfStatement_1_factory(Parser yyp) { return new IfStatement_1(yyp); }
+public static object Assignment_factory(Parser yyp) { return new Assignment(yyp); }
+public static object CompoundStatement_1_factory(Parser yyp) { return new CompoundStatement_1(yyp); }
+public static object CompoundStatement_2_factory(Parser yyp) { return new CompoundStatement_2(yyp); }
+public static object ReturnStatement_1_factory(Parser yyp) { return new ReturnStatement_1(yyp); }
+public static object IdentDotExpression_factory(Parser yyp) { return new IdentDotExpression(yyp); }
+public static object Argument_factory(Parser yyp) { return new Argument(yyp); }
+public static object State_2_factory(Parser yyp) { return new State_2(yyp); }
+public static object WhileStatement_1_factory(Parser yyp) { return new WhileStatement_1(yyp); }
+public static object GlobalDefinitions_3_factory(Parser yyp) { return new GlobalDefinitions_3(yyp); }
+public static object GlobalDefinitions_4_factory(Parser yyp) { return new GlobalDefinitions_4(yyp); }
+public static object Event_1_factory(Parser yyp) { return new Event_1(yyp); }
+public static object ListConstant_factory(Parser yyp) { return new ListConstant(yyp); }
+public static object Event_3_factory(Parser yyp) { return new Event_3(yyp); }
+public static object Event_4_factory(Parser yyp) { return new Event_4(yyp); }
+public static object Event_6_factory(Parser yyp) { return new Event_6(yyp); }
+public static object Typename_1_factory(Parser yyp) { return new Typename_1(yyp); }
+public static object Typename_2_factory(Parser yyp) { return new Typename_2(yyp); }
+public static object Typename_3_factory(Parser yyp) { return new Typename_3(yyp); }
+public static object Typename_4_factory(Parser yyp) { return new Typename_4(yyp); }
+public static object Typename_5_factory(Parser yyp) { return new Typename_5(yyp); }
+public static object Typename_6_factory(Parser yyp) { return new Typename_6(yyp); }
+public static object Typename_7_factory(Parser yyp) { return new Typename_7(yyp); }
+public static object ArgumentDeclarationList_factory(Parser yyp) { return new ArgumentDeclarationList(yyp); }
+public static object ConstantExpression_factory(Parser yyp) { return new ConstantExpression(yyp); }
+public static object LSLProgramRoot_1_factory(Parser yyp) { return new LSLProgramRoot_1(yyp); }
+public static object LSLProgramRoot_2_factory(Parser yyp) { return new LSLProgramRoot_2(yyp); }
+public static object States_1_factory(Parser yyp) { return new States_1(yyp); }
+public static object States_2_factory(Parser yyp) { return new States_2(yyp); }
+public static object FunctionCallExpression_1_factory(Parser yyp) { return new FunctionCallExpression_1(yyp); }
+public static object ForLoopStatement_factory(Parser yyp) { return new ForLoopStatement(yyp); }
+public static object DoWhileStatement_1_factory(Parser yyp) { return new DoWhileStatement_1(yyp); }
+public static object JumpLabel_factory(Parser yyp) { return new JumpLabel(yyp); }
+public static object JumpStatement_1_factory(Parser yyp) { return new JumpStatement_1(yyp); }
+public static object GlobalDefinitions_factory(Parser yyp) { return new GlobalDefinitions(yyp); }
+public static object FunctionCall_1_factory(Parser yyp) { return new FunctionCall_1(yyp); }
+public static object ArgumentList_3_factory(Parser yyp) { return new ArgumentList_3(yyp); }
+public static object Assignment_2_factory(Parser yyp) { return new Assignment_2(yyp); }
+public static object Assignment_4_factory(Parser yyp) { return new Assignment_4(yyp); }
+public static object Assignment_6_factory(Parser yyp) { return new Assignment_6(yyp); }
+public static object TypecastExpression_1_factory(Parser yyp) { return new TypecastExpression_1(yyp); }
+public static object TypecastExpression_4_factory(Parser yyp) { return new TypecastExpression_4(yyp); }
+public static object TypecastExpression_5_factory(Parser yyp) { return new TypecastExpression_5(yyp); }
+public static object TypecastExpression_6_factory(Parser yyp) { return new TypecastExpression_6(yyp); }
+public static object TypecastExpression_9_factory(Parser yyp) { return new TypecastExpression_9(yyp); }
+public static object ArgumentDeclarationList_1_factory(Parser yyp) { return new ArgumentDeclarationList_1(yyp); }
+public static object ArgumentDeclarationList_2_factory(Parser yyp) { return new ArgumentDeclarationList_2(yyp); }
+public static object ArgumentDeclarationList_3_factory(Parser yyp) { return new ArgumentDeclarationList_3(yyp); }
+public static object GlobalDefinitions_1_factory(Parser yyp) { return new GlobalDefinitions_1(yyp); }
+public static object GlobalDefinitions_2_factory(Parser yyp) { return new GlobalDefinitions_2(yyp); }
+public static object IncrementDecrementExpression_factory(Parser yyp) { return new IncrementDecrementExpression(yyp); }
+public static object GlobalVariableDeclaration_factory(Parser yyp) { return new GlobalVariableDeclaration(yyp); }
+public static object Event_11_factory(Parser yyp) { return new Event_11(yyp); }
+public static object TypecastExpression_2_factory(Parser yyp) { return new TypecastExpression_2(yyp); }
+public static object TypecastExpression_3_factory(Parser yyp) { return new TypecastExpression_3(yyp); }
+public static object TypecastExpression_8_factory(Parser yyp) { return new TypecastExpression_8(yyp); }
+public static object Constant_1_factory(Parser yyp) { return new Constant_1(yyp); }
+public static object Expression_factory(Parser yyp) { return new Expression(yyp); }
+public static object Constant_3_factory(Parser yyp) { return new Constant_3(yyp); }
+public static object Constant_4_factory(Parser yyp) { return new Constant_4(yyp); }
+public static object BinaryExpression_1_factory(Parser yyp) { return new BinaryExpression_1(yyp); }
+public static object IfStatement_2_factory(Parser yyp) { return new IfStatement_2(yyp); }
+public static object ReturnStatement_factory(Parser yyp) { return new ReturnStatement(yyp); }
+public static object Event_2_factory(Parser yyp) { return new Event_2(yyp); }
+public static object RotationConstant_factory(Parser yyp) { return new RotationConstant(yyp); }
+public static object Statement_13_factory(Parser yyp) { return new Statement_13(yyp); }
+public static object UnaryExpression_1_factory(Parser yyp) { return new UnaryExpression_1(yyp); }
+public static object UnaryExpression_2_factory(Parser yyp) { return new UnaryExpression_2(yyp); }
+public static object UnaryExpression_3_factory(Parser yyp) { return new UnaryExpression_3(yyp); }
+public static object ArgumentList_1_factory(Parser yyp) { return new ArgumentList_1(yyp); }
+public static object ArgumentList_2_factory(Parser yyp) { return new ArgumentList_2(yyp); }
+public static object Constant_factory(Parser yyp) { return new Constant(yyp); }
+public static object State_factory(Parser yyp) { return new State(yyp); }
+public static object LSLProgramRoot_factory(Parser yyp) { return new LSLProgramRoot(yyp); }
+public static object StateChange_factory(Parser yyp) { return new StateChange(yyp); }
+public static object IncrementDecrementExpression_2_factory(Parser yyp) { return new IncrementDecrementExpression_2(yyp); }
+public static object GlobalVariableDeclaration_1_factory(Parser yyp) { return new GlobalVariableDeclaration_1(yyp); }
+public static object GlobalVariableDeclaration_2_factory(Parser yyp) { return new GlobalVariableDeclaration_2(yyp); }
+public static object IncrementDecrementExpression_5_factory(Parser yyp) { return new IncrementDecrementExpression_5(yyp); }
+public static object GlobalFunctionDefinition_2_factory(Parser yyp) { return new GlobalFunctionDefinition_2(yyp); }
+public static object IncrementDecrementExpression_7_factory(Parser yyp) { return new IncrementDecrementExpression_7(yyp); }
+public static object IncrementDecrementExpression_8_factory(Parser yyp) { return new IncrementDecrementExpression_8(yyp); }
+public static object Assignment_1_factory(Parser yyp) { return new Assignment_1(yyp); }
+public static object Assignment_3_factory(Parser yyp) { return new Assignment_3(yyp); }
+public static object Assignment_5_factory(Parser yyp) { return new Assignment_5(yyp); }
+public static object Assignment_7_factory(Parser yyp) { return new Assignment_7(yyp); }
+public static object Assignment_8_factory(Parser yyp) { return new Assignment_8(yyp); }
+public static object Event_22_factory(Parser yyp) { return new Event_22(yyp); }
+public static object CompoundStatement_factory(Parser yyp) { return new CompoundStatement(yyp); }
+public static object RotationConstant_1_factory(Parser yyp) { return new RotationConstant_1(yyp); }
+public static object Event_13_factory(Parser yyp) { return new Event_13(yyp); }
+public static object Statement_1_factory(Parser yyp) { return new Statement_1(yyp); }
+public static object Statement_2_factory(Parser yyp) { return new Statement_2(yyp); }
+public static object Statement_3_factory(Parser yyp) { return new Statement_3(yyp); }
+public static object Statement_4_factory(Parser yyp) { return new Statement_4(yyp); }
+public static object Statement_5_factory(Parser yyp) { return new Statement_5(yyp); }
+public static object Statement_6_factory(Parser yyp) { return new Statement_6(yyp); }
+public static object Statement_7_factory(Parser yyp) { return new Statement_7(yyp); }
+public static object Statement_8_factory(Parser yyp) { return new Statement_8(yyp); }
+public static object Statement_9_factory(Parser yyp) { return new Statement_9(yyp); }
+public static object ExpressionArgument_factory(Parser yyp) { return new ExpressionArgument(yyp); }
+public static object GlobalFunctionDefinition_factory(Parser yyp) { return new GlobalFunctionDefinition(yyp); }
+public static object State_1_factory(Parser yyp) { return new State_1(yyp); }
+public static object DoWhileStatement_factory(Parser yyp) { return new DoWhileStatement(yyp); }
+public static object ParenthesisExpression_1_factory(Parser yyp) { return new ParenthesisExpression_1(yyp); }
+public static object Event_5_factory(Parser yyp) { return new Event_5(yyp); }
+public static object StateBody_factory(Parser yyp) { return new StateBody(yyp); }
+public static object Event_7_factory(Parser yyp) { return new Event_7(yyp); }
+public static object Event_8_factory(Parser yyp) { return new Event_8(yyp); }
+public static object IncrementDecrementExpression_1_factory(Parser yyp) { return new IncrementDecrementExpression_1(yyp); }
+public static object IncrementDecrementExpression_3_factory(Parser yyp) { return new IncrementDecrementExpression_3(yyp); }
+public static object IncrementDecrementExpression_4_factory(Parser yyp) { return new IncrementDecrementExpression_4(yyp); }
+public static object IncrementDecrementExpression_6_factory(Parser yyp) { return new IncrementDecrementExpression_6(yyp); }
+public static object StateEvent_factory(Parser yyp) { return new StateEvent(yyp); }
+public static object Event_20_factory(Parser yyp) { return new Event_20(yyp); }
+public static object Event_24_factory(Parser yyp) { return new Event_24(yyp); }
+public static object Event_26_factory(Parser yyp) { return new Event_26(yyp); }
+public static object Event_factory(Parser yyp) { return new Event(yyp); }
+public static object Statement_10_factory(Parser yyp) { return new Statement_10(yyp); }
+public static object Statement_11_factory(Parser yyp) { return new Statement_11(yyp); }
+public static object Statement_12_factory(Parser yyp) { return new Statement_12(yyp); }
+public static object TypecastExpression_factory(Parser yyp) { return new TypecastExpression(yyp); }
+public static object Event_15_factory(Parser yyp) { return new Event_15(yyp); }
+public static object Event_16_factory(Parser yyp) { return new Event_16(yyp); }
+public static object Event_32_factory(Parser yyp) { return new Event_32(yyp); }
+public static object BinaryExpression_factory(Parser yyp) { return new BinaryExpression(yyp); }
+public static object FunctionCallExpression_factory(Parser yyp) { return new FunctionCallExpression(yyp); }
+public static object BinaryExpression_11_factory(Parser yyp) { return new BinaryExpression_11(yyp); }
+public static object StateBody_1_factory(Parser yyp) { return new StateBody_1(yyp); }
+public static object StatementList_2_factory(Parser yyp) { return new StatementList_2(yyp); }
+public static object BinaryExpression_14_factory(Parser yyp) { return new BinaryExpression_14(yyp); }
+public static object BinaryExpression_15_factory(Parser yyp) { return new BinaryExpression_15(yyp); }
+public static object BinaryExpression_16_factory(Parser yyp) { return new BinaryExpression_16(yyp); }
+public static object BinaryExpression_17_factory(Parser yyp) { return new BinaryExpression_17(yyp); }
+public static object BinaryExpression_18_factory(Parser yyp) { return new BinaryExpression_18(yyp); }
+public static object Event_25_factory(Parser yyp) { return new Event_25(yyp); }
+public static object Event_9_factory(Parser yyp) { return new Event_9(yyp); }
+public static object Statement_factory(Parser yyp) { return new Statement(yyp); }
+public static object JumpStatement_factory(Parser yyp) { return new JumpStatement(yyp); }
+public static object BinaryExpression_12_factory(Parser yyp) { return new BinaryExpression_12(yyp); }
+public static object BinaryExpression_13_factory(Parser yyp) { return new BinaryExpression_13(yyp); }
+public static object BinaryExpression_6_factory(Parser yyp) { return new BinaryExpression_6(yyp); }
+public static object BinaryExpression_7_factory(Parser yyp) { return new BinaryExpression_7(yyp); }
+public static object ArgumentList_factory(Parser yyp) { return new ArgumentList(yyp); }
+public static object Event_10_factory(Parser yyp) { return new Event_10(yyp); }
+public static object ConstantExpression_1_factory(Parser yyp) { return new ConstantExpression_1(yyp); }
+public static object Event_12_factory(Parser yyp) { return new Event_12(yyp); }
+public static object Event_14_factory(Parser yyp) { return new Event_14(yyp); }
+public static object Event_17_factory(Parser yyp) { return new Event_17(yyp); }
+public static object Event_18_factory(Parser yyp) { return new Event_18(yyp); }
+public static object Event_19_factory(Parser yyp) { return new Event_19(yyp); }
+public static object BinaryExpression_10_factory(Parser yyp) { return new BinaryExpression_10(yyp); }
+public static object StateEvent_1_factory(Parser yyp) { return new StateEvent_1(yyp); }
+public static object VectorConstant_factory(Parser yyp) { return new VectorConstant(yyp); }
+public static object Event_21_factory(Parser yyp) { return new Event_21(yyp); }
+public static object Event_23_factory(Parser yyp) { return new Event_23(yyp); }
+public static object TypecastExpression_7_factory(Parser yyp) { return new TypecastExpression_7(yyp); }
+public static object FunctionCall_factory(Parser yyp) { return new FunctionCall(yyp); }
+public static object Event_27_factory(Parser yyp) { return new Event_27(yyp); }
+public static object Event_28_factory(Parser yyp) { return new Event_28(yyp); }
+public static object Event_29_factory(Parser yyp) { return new Event_29(yyp); }
+public static object ListConstant_1_factory(Parser yyp) { return new ListConstant_1(yyp); }
+public static object Declaration_1_factory(Parser yyp) { return new Declaration_1(yyp); }
+public static object ForLoop_factory(Parser yyp) { return new ForLoop(yyp); }
+public static object Event_30_factory(Parser yyp) { return new Event_30(yyp); }
+public static object Event_31_factory(Parser yyp) { return new Event_31(yyp); }
+public static object Event_33_factory(Parser yyp) { return new Event_33(yyp); }
+public static object GlobalFunctionDefinition_1_factory(Parser yyp) { return new GlobalFunctionDefinition_1(yyp); }
+public static object JumpLabel_1_factory(Parser yyp) { return new JumpLabel_1(yyp); }
+public static object ArgumentList_4_factory(Parser yyp) { return new ArgumentList_4(yyp); }
+public static object IfStatement_factory(Parser yyp) { return new IfStatement(yyp); }
+public static object ForLoopStatement_1_factory(Parser yyp) { return new ForLoopStatement_1(yyp); }
+public static object ForLoopStatement_2_factory(Parser yyp) { return new ForLoopStatement_2(yyp); }
+public static object ForLoopStatement_3_factory(Parser yyp) { return new ForLoopStatement_3(yyp); }
+public static object ForLoopStatement_4_factory(Parser yyp) { return new ForLoopStatement_4(yyp); }
+public static object ArgumentDeclarationList_4_factory(Parser yyp) { return new ArgumentDeclarationList_4(yyp); }
+public static object ArgumentDeclarationList_5_factory(Parser yyp) { return new ArgumentDeclarationList_5(yyp); }
+public static object WhileStatement_factory(Parser yyp) { return new WhileStatement(yyp); }
+public static object ForLoop_1_factory(Parser yyp) { return new ForLoop_1(yyp); }
+public static object Constant_2_factory(Parser yyp) { return new Constant_2(yyp); }
+public static object StatementList_factory(Parser yyp) { return new StatementList(yyp); }
+public static object StateBody_2_factory(Parser yyp) { return new StateBody_2(yyp); }
+public static object IdentExpression_1_factory(Parser yyp) { return new IdentExpression_1(yyp); }
+public static object States_factory(Parser yyp) { return new States(yyp); }
+}
+public class LSLSyntax
+: Parser {
+public LSLSyntax
+():base(new yyLSLSyntax
+(),new LSLTokens()) {}
+public LSLSyntax
+(YyParser syms):base(syms,new LSLTokens()) {}
+public LSLSyntax
+(YyParser syms,ErrorHandler erh):base(syms,new LSLTokens(erh)) {}
+
+ }
+}
--
cgit v1.1