summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--impl/EquationSystem.hpp32
-rw-r--r--impl/EquationSystem.tokens33
-rw-r--r--impl/EquationSystemLexer.c2087
-rw-r--r--impl/EquationSystemLexer.h313
-rw-r--r--impl/EquationSystemLexer.obin10104 -> 0 bytes
-rw-r--r--impl/EquationSystemParser.c2396
-rw-r--r--impl/EquationSystemParser.h324
-rw-r--r--impl/EquationSystemParser.obin25428 -> 0 bytes
-rw-r--r--impl/Expression.hpp4
-rw-r--r--impl/FixpointAlgorithm.hpp169
-rw-r--r--impl/ImprovementOperator.hpp117
-rw-r--r--impl/MaxStrategy.hpp126
-rw-r--r--impl/VariableAssignment.hpp98
-rw-r--r--impl/main.cpp111
-rw-r--r--impl/parser/EquationSystem.tokens33
-rw-r--r--impl/parser/EquationSystemLexer.c2087
-rw-r--r--impl/parser/EquationSystemLexer.h313
-rw-r--r--impl/parser/EquationSystemLexer.obin10104 -> 0 bytes
-rw-r--r--impl/parser/EquationSystemParser.c2460
-rw-r--r--impl/parser/EquationSystemParser.h324
-rw-r--r--impl/parser/EquationSystemParser.obin26200 -> 0 bytes
-rw-r--r--impl/systems/generate-long.py4
-rw-r--r--impl/systems/gmon.outbin56545 -> 0 bytes
-rw-r--r--impl/systems/long-fixpoint.eqns20000
-rw-r--r--impl/test/run2
25 files changed, 10187 insertions, 20846 deletions
diff --git a/impl/EquationSystem.hpp b/impl/EquationSystem.hpp
index 4bae53a..4c55bd7 100644
--- a/impl/EquationSystem.hpp
+++ b/impl/EquationSystem.hpp
@@ -88,32 +88,6 @@ struct EquationSystem {
return _right_sides[var.id()];
}
- StableVariableAssignment<Domain>* assignment(const Domain& value) const {
- return new StableVariableAssignment<Domain>(_variables.size(), value);
- }
- StableVariableAssignment<Domain>* eval(const VariableAssignment<Domain>& rho) const {
- StableVariableAssignment<Domain>* result = this->assignment(-infinity<Domain>());
- for (unsigned int i = 0, length = _variables.size();
- i < length;
- ++i) {
- const Variable<Domain>& var = *_variables[i];
- const Expression<Domain>& expr = * (*this)[var];
- (*result)[var] = expr.eval(rho);
- }
- return result;
- }
- StableVariableAssignment<Domain>* eval(const VariableAssignment<Domain>& rho, const MaxStrategy<Domain>& strat) const {
- StableVariableAssignment<Domain>* result = this->assignment(-infinity<Domain>());
- for (unsigned int i = 0, length = _variables.size();
- i < length;
- ++i) {
- const Variable<Domain>& var = *_variables[i];
- const Expression<Domain>& expr = * (*this)[var];
- (*result)[var] = expr.eval(rho, strat);
- }
- return result;
- }
-
void indexMaxExpressions() {
_expr_to_var = new IdMap<MaxExpression<Domain>,Variable<Domain>*>(maxExpressionCount(), NULL);
for (unsigned int i = 0, length = _right_sides.size(); i < length; ++i) {
@@ -130,11 +104,7 @@ struct EquationSystem {
return NULL;
}
} else {
- for (unsigned int i = 0, length = _right_sides.size(); i < length; ++i) {
- if (_right_sides[i] == &expr)
- return _variables[i];
- }
- return NULL;
+ throw "Must index max expressions before attempting lookup";
}
}
diff --git a/impl/EquationSystem.tokens b/impl/EquationSystem.tokens
deleted file mode 100644
index c706036..0000000
--- a/impl/EquationSystem.tokens
+++ /dev/null
@@ -1,33 +0,0 @@
-T__19=19
-T__20=20
-T__21=21
-T__22=22
-COMMA=4
-DIGIT=5
-GREATER_EQUAL=6
-GUARD=7
-LETTER=8
-MAXIMUM=9
-MINIMUM=10
-MULT=11
-NEWLINE=12
-NUMBER=13
-PLUS=14
-QUESTION_MARK=15
-SUB=16
-VARIABLE=17
-WHITESPACE=18
-'('=19
-')'=20
-'*'=11
-'+'=14
-','=21
-'-'=16
-';'=4
-'='=22
-'>='=6
-'?'=15
-'\n'=12
-'guard'=7
-'max'=9
-'min'=10
diff --git a/impl/EquationSystemLexer.c b/impl/EquationSystemLexer.c
deleted file mode 100644
index 9236614..0000000
--- a/impl/EquationSystemLexer.c
+++ /dev/null
@@ -1,2087 +0,0 @@
-/** \file
- * This C source file was generated by $ANTLR version 3.4
- *
- * - From the grammar source file : EquationSystem.g
- * - On : 2012-07-09 19:58:46
- * - for the lexer : EquationSystemLexerLexer
- *
- * Editing it, at least manually, is not wise.
- *
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
- *
- *
-*/
-// [The "BSD license"]
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
-// http://www.temporal-wave.com
-// http://www.linkedin.com/in/jimidle
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. 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.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-
-/* -----------------------------------------
- * Include the ANTLR3 generated header file.
- */
-#include "EquationSystemLexer.h"
-/* ----------------------------------------- */
-
-
-/** String literals used by EquationSystemLexer that we must do things like MATCHS() with.
- * C will normally just lay down 8 bit characters, and you can use L"xxx" to
- * get wchar_t, but wchar_t is 16 bits on Windows, which is not UTF32 and so
- * we perform this little trick of defining the literals as arrays of UINT32
- * and passing in the address of these.
- */
-static ANTLR3_UCHAR lit_1[] = { 0x3E, 0x3D, ANTLR3_STRING_TERMINATOR};
-static ANTLR3_UCHAR lit_2[] = { 0x67, 0x75, 0x61, 0x72, 0x64, ANTLR3_STRING_TERMINATOR};
-static ANTLR3_UCHAR lit_3[] = { 0x6D, 0x61, 0x78, ANTLR3_STRING_TERMINATOR};
-static ANTLR3_UCHAR lit_4[] = { 0x6D, 0x69, 0x6E, ANTLR3_STRING_TERMINATOR};
-
-
-
-
-
-/* MACROS that hide the C interface implementations from the
- * generated code, which makes it a little more understandable to the human eye.
- * I am very much against using C pre-processor macros for function calls and bits
- * of code as you cannot see what is happening when single stepping in debuggers
- * and so on. The exception (in my book at least) is for generated code, where you are
- * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()
- * hides some indirect calls, but is always referring to the input stream. This is
- * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig
- * the runtime interfaces without changing the generated code too often, without
- * confusing the reader of the generated output, who may not wish to know the gory
- * details of the interface inheritance.
- */
-
-#define CTX ctx
-
-/* Aids in accessing scopes for grammar programmers
- */
-#undef SCOPE_TYPE
-#undef SCOPE_STACK
-#undef SCOPE_TOP
-#define SCOPE_TYPE(scope) pEquationSystemLexer_##scope##_SCOPE
-#define SCOPE_STACK(scope) pEquationSystemLexer_##scope##Stack
-#define SCOPE_TOP(scope) ctx->pEquationSystemLexer_##scope##Top
-#define SCOPE_SIZE(scope) ctx->pEquationSystemLexer_##scope##Stack_limit
-#define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))
-
-
-/* Macros for accessing things in a lexer
- */
-#undef LEXER
-#undef RECOGNIZER
-#undef RULEMEMO
-#undef GETCHARINDEX
-#undef GETLINE
-#undef GETCHARPOSITIONINLINE
-#undef EMIT
-#undef EMITNEW
-#undef MATCHC
-#undef MATCHS
-#undef MATCHRANGE
-#undef LTOKEN
-#undef HASFAILED
-#undef FAILEDFLAG
-#undef INPUT
-#undef STRSTREAM
-#undef LA
-#undef HASEXCEPTION
-#undef EXCEPTION
-#undef CONSTRUCTEX
-#undef CONSUME
-#undef LRECOVER
-#undef MARK
-#undef REWIND
-#undef REWINDLAST
-#undef BACKTRACKING
-#undef MATCHANY
-#undef MEMOIZE
-#undef HAVEPARSEDRULE
-#undef GETTEXT
-#undef INDEX
-#undef SEEK
-#undef PUSHSTREAM
-#undef POPSTREAM
-#undef SETTEXT
-#undef SETTEXT8
-
-#define LEXER ctx->pLexer
-#define RECOGNIZER LEXER->rec
-#define LEXSTATE RECOGNIZER->state
-#define TOKSOURCE LEXSTATE->tokSource
-#define GETCHARINDEX() LEXER->getCharIndex(LEXER)
-#define GETLINE() LEXER->getLine(LEXER)
-#define GETTEXT() LEXER->getText(LEXER)
-#define GETCHARPOSITIONINLINE() LEXER->getCharPositionInLine(LEXER)
-#define EMIT() LEXSTATE->type = _type; LEXER->emit(LEXER)
-#define EMITNEW(t) LEXER->emitNew(LEXER, t)
-#define MATCHC(c) LEXER->matchc(LEXER, c)
-#define MATCHS(s) LEXER->matchs(LEXER, s)
-#define MATCHRANGE(c1,c2) LEXER->matchRange(LEXER, c1, c2)
-#define MATCHANY() LEXER->matchAny(LEXER)
-#define LTOKEN LEXSTATE->token
-#define HASFAILED() (LEXSTATE->failed == ANTLR3_TRUE)
-#define BACKTRACKING LEXSTATE->backtracking
-#define FAILEDFLAG LEXSTATE->failed
-#define INPUT LEXER->input
-#define STRSTREAM INPUT
-#define ISTREAM INPUT->istream
-#define INDEX() ISTREAM->index(ISTREAM)
-#define SEEK(n) ISTREAM->seek(ISTREAM, n)
-#define EOF_TOKEN &(LEXSTATE->tokSource->eofToken)
-#define HASEXCEPTION() (LEXSTATE->error == ANTLR3_TRUE)
-#define EXCEPTION LEXSTATE->exception
-#define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)
-#define LRECOVER() LEXER->recover(LEXER)
-#define MARK() ISTREAM->mark(ISTREAM)
-#define REWIND(m) ISTREAM->rewind(ISTREAM, m)
-#define REWINDLAST() ISTREAM->rewindLast(ISTREAM)
-#define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)
-#define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)
-#define PUSHSTREAM(str) LEXER->pushCharStream(LEXER, str)
-#define POPSTREAM() LEXER->popCharStream(LEXER)
-#define SETTEXT(str) LEXSTATE->text = str
-#define SKIP() LEXSTATE->token = &(TOKSOURCE->skipToken)
-#define USER1 LEXSTATE->user1
-#define USER2 LEXSTATE->user2
-#define USER3 LEXSTATE->user3
-#define CUSTOM LEXSTATE->custom
-#define RULEMEMO LEXSTATE->ruleMemo
-#define DBG RECOGNIZER->debugger
-
-/* If we have been told we can rely on the standard 8 bit or UTF16 input
- * stream, then we can define our macros to use the direct pointers
- * in the input object, which is much faster than indirect calls. This
- * is really only significant to lexers with a lot of fragment rules (which
- * do not place LA(1) in a temporary at the moment) and even then
- * only if there is a lot of input (order of say 1M or so).
- */
-#if defined(ANTLR3_INLINE_INPUT_8BIT) || defined(ANTLR3_INLINE_INPUT_UTF16)
-
-# ifdef ANTLR3_INLINE_INPUT_8BIT
-
-/* 8 bit character set */
-
-# define NEXTCHAR ((pANTLR3_UINT8)(INPUT->nextChar))
-# define DATAP ((pANTLR3_UINT8)(INPUT->data))
-
-# else
-
-# define NEXTCHAR ((pANTLR3_UINT16)(INPUT->nextChar))
-# define DATAP ((pANTLR3_UINT16)(INPUT->data))
-
-# endif
-
-# define LA(n) ((NEXTCHAR + n) > (DATAP + INPUT->sizeBuf) ? ANTLR3_CHARSTREAM_EOF : (ANTLR3_UCHAR)(*(NEXTCHAR + n - 1)))
-# define CONSUME() \
-{ \
- if (NEXTCHAR < (DATAP + INPUT->sizeBuf)) \
- { \
- INPUT->charPositionInLine++; \
- if ((ANTLR3_UCHAR)(*NEXTCHAR) == INPUT->newlineChar) \
- { \
- INPUT->line++; \
- INPUT->charPositionInLine = 0; \
- INPUT->currentLine = (void *)(NEXTCHAR + 1); \
- } \
- INPUT->nextChar = (void *)(NEXTCHAR + 1); \
- } \
-}
-
-#else
-
-// Pick up the input character by calling the input stream implementation.
-//
-#define CONSUME() INPUT->istream->consume(INPUT->istream)
-#define LA(n) INPUT->istream->_LA(INPUT->istream, n)
-
-#endif
-
-#define TOKTEXT(tok, txt) tok, (pANTLR3_UINT8)txt
-
-/* The 4 tokens defined below may well clash with your own #defines or token types. If so
- * then for the present you must use different names for your defines as these are hard coded
- * in the code generator. It would be better not to use such names internally, and maybe
- * we can change this in a forthcoming release. I deliberately do not #undef these
- * here as this will at least give you a redefined error somewhere if they clash.
- */
-#define UP ANTLR3_TOKEN_UP
-#define DOWN ANTLR3_TOKEN_DOWN
-#define EOR ANTLR3_TOKEN_EOR
-#define INVALID ANTLR3_TOKEN_INVALID
-
-
-/* =============================================================================
- * Functions to create and destroy scopes. First come the rule scopes, followed
- * by the global declared scopes.
- */
-
-
-
-/* ============================================================================= */
-
-/* =============================================================================
- * Start of recognizer
- */
-
-/* Forward declare the locally static matching functions we have generated and any predicate functions.
- */
-static ANTLR3_INLINE
- void
- mCOMMA (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mGREATER_EQUAL (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mGUARD (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mMAXIMUM (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mMINIMUM (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mMULT (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mNEWLINE (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mPLUS (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mQUESTION_MARK (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mSUB (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mT__19 (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mT__20 (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mT__21 (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mT__22 (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mNUMBER (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mVARIABLE (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mWHITESPACE (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mDIGIT (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mLETTER (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mTokens (pEquationSystemLexer ctx);
-static void EquationSystemLexerFree(pEquationSystemLexer ctx);
-
-/* =========================================================================
- * Lexer matching rules end.
- * =========================================================================
- */
-
-
-
-static void
-EquationSystemLexerFree (pEquationSystemLexer ctx)
-{
- LEXER->free(LEXER);
-
- ANTLR3_FREE(ctx);
-}
-
-static void
-EquationSystemLexerReset (pEquationSystemLexer ctx)
-{
- RECOGNIZER->reset(RECOGNIZER);
-}
-
-/** \brief Name of the grammar file that generated this code
- */
-static const char fileName[] = "EquationSystem.g";
-
-/** \brief Return the name of the grammar file that generated this code.
- */
-static const char * getGrammarFileName()
-{
- return fileName;
-}
-
-/** \brief Create a new lexer called EquationSystemLexer
- *
- * \param[in] instream Pointer to an initialized input stream
- * \return
- * - Success pEquationSystemLexer initialized for the lex start
- * - Fail NULL
- */
-ANTLR3_API pEquationSystemLexer EquationSystemLexerNew
-(
-pANTLR3_INPUT_STREAM
- instream)
-{
- // See if we can create a new lexer with the standard constructor
- //
- return EquationSystemLexerNewSSD(instream, NULL);
-}
-
-/** \brief Create a new lexer called EquationSystemLexer
- *
- * \param[in] instream Pointer to an initialized input stream
- * \param[state] state Previously created shared recognizer stat
- * \return
- * - Success pEquationSystemLexer initialized for the lex start
- * - Fail NULL
- */
-ANTLR3_API pEquationSystemLexer EquationSystemLexerNewSSD
-(pANTLR3_INPUT_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
-{
- pEquationSystemLexer ctx; // Context structure we will build and return
-
- ctx = (pEquationSystemLexer) ANTLR3_CALLOC(1, sizeof(EquationSystemLexer));
-
- if (ctx == NULL)
- {
- // Failed to allocate memory for lexer context
- return NULL;
- }
-
- /* -------------------------------------------------------------------
- * Memory for basic structure is allocated, now to fill in
- * in base ANTLR3 structures. We initialize the function pointers
- * for the standard ANTLR3 lexer function set, but upon return
- * from here, the programmer may set the pointers to provide custom
- * implementations of each function.
- *
- * We don't use the macros defined in EquationSystemLexer.h here so you can get a sense
- * of what goes where.
- */
-
- /* Create a base lexer, using the supplied input stream
- */
- ctx->pLexer = antlr3LexerNewStream(ANTLR3_SIZE_HINT, instream, state);
-
- /* Check that we allocated the memory correctly
- */
- if (ctx->pLexer == NULL)
- {
- ANTLR3_FREE(ctx);
- return NULL;
- }
- /* Install the implementation of our EquationSystemLexer interface
- */
- ctx->mCOMMA = mCOMMA;
- ctx->mGREATER_EQUAL = mGREATER_EQUAL;
- ctx->mGUARD = mGUARD;
- ctx->mMAXIMUM = mMAXIMUM;
- ctx->mMINIMUM = mMINIMUM;
- ctx->mMULT = mMULT;
- ctx->mNEWLINE = mNEWLINE;
- ctx->mPLUS = mPLUS;
- ctx->mQUESTION_MARK = mQUESTION_MARK;
- ctx->mSUB = mSUB;
- ctx->mT__19 = mT__19;
- ctx->mT__20 = mT__20;
- ctx->mT__21 = mT__21;
- ctx->mT__22 = mT__22;
- ctx->mNUMBER = mNUMBER;
- ctx->mVARIABLE = mVARIABLE;
- ctx->mWHITESPACE = mWHITESPACE;
- ctx->mDIGIT = mDIGIT;
- ctx->mLETTER = mLETTER;
- ctx->mTokens = mTokens;
-
- /** When the nextToken() call is made to this lexer's pANTLR3_TOKEN_SOURCE
- * it will call mTokens() in this generated code, and will pass it the ctx
- * pointer of this lexer, not the context of the base lexer, so store that now.
- */
- ctx->pLexer->ctx = ctx;
-
- /**Install the token matching function
- */
- ctx->pLexer->mTokens = (void (*) (void *))(mTokens);
-
- ctx->getGrammarFileName = getGrammarFileName;
- ctx->free = EquationSystemLexerFree;
- ctx->reset = EquationSystemLexerReset;
-
-
- /* Return the newly built lexer to the caller
- */
- return ctx;
-}
-/* =========================================================================
- * Functions to match the lexer grammar defined tokens from the input stream
- */
-
-// Comes from: 7:7: ( ';' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start COMMA
- *
- * Looks to match the characters the constitute the token COMMA
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mCOMMA(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = COMMA;
-
-
- // EquationSystem.g:7:7: ( ';' )
- // EquationSystem.g:7:9: ';'
- {
- MATCHC(';');
- if (HASEXCEPTION())
- {
- goto ruleCOMMAEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleCOMMAEx; /* Prevent compiler warnings */
- ruleCOMMAEx: ;
-
-}
-// $ANTLR end COMMA
-
-// Comes from: 8:15: ( '>=' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start GREATER_EQUAL
- *
- * Looks to match the characters the constitute the token GREATER_EQUAL
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mGREATER_EQUAL(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = GREATER_EQUAL;
-
-
- // EquationSystem.g:8:15: ( '>=' )
- // EquationSystem.g:8:17: '>='
- {
- MATCHS(lit_1);
- if (HASEXCEPTION())
- {
- goto ruleGREATER_EQUALEx;
- }
-
-
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleGREATER_EQUALEx; /* Prevent compiler warnings */
- ruleGREATER_EQUALEx: ;
-
-}
-// $ANTLR end GREATER_EQUAL
-
-// Comes from: 9:7: ( 'guard' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start GUARD
- *
- * Looks to match the characters the constitute the token GUARD
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mGUARD(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = GUARD;
-
-
- // EquationSystem.g:9:7: ( 'guard' )
- // EquationSystem.g:9:9: 'guard'
- {
- MATCHS(lit_2);
- if (HASEXCEPTION())
- {
- goto ruleGUARDEx;
- }
-
-
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleGUARDEx; /* Prevent compiler warnings */
- ruleGUARDEx: ;
-
-}
-// $ANTLR end GUARD
-
-// Comes from: 10:9: ( 'max' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start MAXIMUM
- *
- * Looks to match the characters the constitute the token MAXIMUM
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mMAXIMUM(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = MAXIMUM;
-
-
- // EquationSystem.g:10:9: ( 'max' )
- // EquationSystem.g:10:11: 'max'
- {
- MATCHS(lit_3);
- if (HASEXCEPTION())
- {
- goto ruleMAXIMUMEx;
- }
-
-
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleMAXIMUMEx; /* Prevent compiler warnings */
- ruleMAXIMUMEx: ;
-
-}
-// $ANTLR end MAXIMUM
-
-// Comes from: 11:9: ( 'min' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start MINIMUM
- *
- * Looks to match the characters the constitute the token MINIMUM
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mMINIMUM(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = MINIMUM;
-
-
- // EquationSystem.g:11:9: ( 'min' )
- // EquationSystem.g:11:11: 'min'
- {
- MATCHS(lit_4);
- if (HASEXCEPTION())
- {
- goto ruleMINIMUMEx;
- }
-
-
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleMINIMUMEx; /* Prevent compiler warnings */
- ruleMINIMUMEx: ;
-
-}
-// $ANTLR end MINIMUM
-
-// Comes from: 12:6: ( '*' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start MULT
- *
- * Looks to match the characters the constitute the token MULT
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mMULT(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = MULT;
-
-
- // EquationSystem.g:12:6: ( '*' )
- // EquationSystem.g:12:8: '*'
- {
- MATCHC('*');
- if (HASEXCEPTION())
- {
- goto ruleMULTEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleMULTEx; /* Prevent compiler warnings */
- ruleMULTEx: ;
-
-}
-// $ANTLR end MULT
-
-// Comes from: 13:9: ( '\\n' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start NEWLINE
- *
- * Looks to match the characters the constitute the token NEWLINE
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mNEWLINE(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = NEWLINE;
-
-
- // EquationSystem.g:13:9: ( '\\n' )
- // EquationSystem.g:13:11: '\\n'
- {
- MATCHC('\n');
- if (HASEXCEPTION())
- {
- goto ruleNEWLINEEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleNEWLINEEx; /* Prevent compiler warnings */
- ruleNEWLINEEx: ;
-
-}
-// $ANTLR end NEWLINE
-
-// Comes from: 14:6: ( '+' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start PLUS
- *
- * Looks to match the characters the constitute the token PLUS
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mPLUS(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = PLUS;
-
-
- // EquationSystem.g:14:6: ( '+' )
- // EquationSystem.g:14:8: '+'
- {
- MATCHC('+');
- if (HASEXCEPTION())
- {
- goto rulePLUSEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto rulePLUSEx; /* Prevent compiler warnings */
- rulePLUSEx: ;
-
-}
-// $ANTLR end PLUS
-
-// Comes from: 15:15: ( '?' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start QUESTION_MARK
- *
- * Looks to match the characters the constitute the token QUESTION_MARK
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mQUESTION_MARK(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = QUESTION_MARK;
-
-
- // EquationSystem.g:15:15: ( '?' )
- // EquationSystem.g:15:17: '?'
- {
- MATCHC('?');
- if (HASEXCEPTION())
- {
- goto ruleQUESTION_MARKEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleQUESTION_MARKEx; /* Prevent compiler warnings */
- ruleQUESTION_MARKEx: ;
-
-}
-// $ANTLR end QUESTION_MARK
-
-// Comes from: 16:5: ( '-' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start SUB
- *
- * Looks to match the characters the constitute the token SUB
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mSUB(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = SUB;
-
-
- // EquationSystem.g:16:5: ( '-' )
- // EquationSystem.g:16:7: '-'
- {
- MATCHC('-');
- if (HASEXCEPTION())
- {
- goto ruleSUBEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleSUBEx; /* Prevent compiler warnings */
- ruleSUBEx: ;
-
-}
-// $ANTLR end SUB
-
-// Comes from: 17:7: ( '(' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start T__19
- *
- * Looks to match the characters the constitute the token T__19
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mT__19(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = T__19;
-
-
- // EquationSystem.g:17:7: ( '(' )
- // EquationSystem.g:17:9: '('
- {
- MATCHC('(');
- if (HASEXCEPTION())
- {
- goto ruleT__19Ex;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleT__19Ex; /* Prevent compiler warnings */
- ruleT__19Ex: ;
-
-}
-// $ANTLR end T__19
-
-// Comes from: 18:7: ( ')' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start T__20
- *
- * Looks to match the characters the constitute the token T__20
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mT__20(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = T__20;
-
-
- // EquationSystem.g:18:7: ( ')' )
- // EquationSystem.g:18:9: ')'
- {
- MATCHC(')');
- if (HASEXCEPTION())
- {
- goto ruleT__20Ex;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleT__20Ex; /* Prevent compiler warnings */
- ruleT__20Ex: ;
-
-}
-// $ANTLR end T__20
-
-// Comes from: 19:7: ( ',' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start T__21
- *
- * Looks to match the characters the constitute the token T__21
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mT__21(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = T__21;
-
-
- // EquationSystem.g:19:7: ( ',' )
- // EquationSystem.g:19:9: ','
- {
- MATCHC(',');
- if (HASEXCEPTION())
- {
- goto ruleT__21Ex;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleT__21Ex; /* Prevent compiler warnings */
- ruleT__21Ex: ;
-
-}
-// $ANTLR end T__21
-
-// Comes from: 20:7: ( '=' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start T__22
- *
- * Looks to match the characters the constitute the token T__22
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mT__22(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = T__22;
-
-
- // EquationSystem.g:20:7: ( '=' )
- // EquationSystem.g:20:9: '='
- {
- MATCHC('=');
- if (HASEXCEPTION())
- {
- goto ruleT__22Ex;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleT__22Ex; /* Prevent compiler warnings */
- ruleT__22Ex: ;
-
-}
-// $ANTLR end T__22
-
-// Comes from: 36:8: ( ( DIGIT )+ )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start NUMBER
- *
- * Looks to match the characters the constitute the token NUMBER
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mNUMBER(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = NUMBER;
-
-
- // EquationSystem.g:36:8: ( ( DIGIT )+ )
- // EquationSystem.g:36:10: ( DIGIT )+
- {
- // EquationSystem.g:36:10: ( DIGIT )+
- {
- int cnt1=0;
-
- for (;;)
- {
- int alt1=2;
- switch ( LA(1) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- {
- alt1=1;
- }
- break;
-
- }
-
- switch (alt1)
- {
- case 1:
- // EquationSystem.g:
- {
- if ( ((LA(1) >= '0') && (LA(1) <= '9')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleNUMBEREx;
- }
-
-
- }
- break;
-
- default:
-
- if ( cnt1 >= 1 )
- {
- goto loop1;
- }
- /* mismatchedSetEx()
- */
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
-
-
- goto ruleNUMBEREx;
- }
- cnt1++;
- }
- loop1: ; /* Jump to here if this rule does not match */
- }
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleNUMBEREx; /* Prevent compiler warnings */
- ruleNUMBEREx: ;
-
-}
-// $ANTLR end NUMBER
-
-// Comes from: 37:9: ( ( LETTER ) ( LETTER | DIGIT )* )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start VARIABLE
- *
- * Looks to match the characters the constitute the token VARIABLE
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mVARIABLE(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = VARIABLE;
-
-
- // EquationSystem.g:37:9: ( ( LETTER ) ( LETTER | DIGIT )* )
- // EquationSystem.g:37:11: ( LETTER ) ( LETTER | DIGIT )*
- {
- if ( ((LA(1) >= 'a') && (LA(1) <= 'z')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleVARIABLEEx;
- }
-
-
- // EquationSystem.g:37:20: ( LETTER | DIGIT )*
-
- for (;;)
- {
- int alt2=2;
- switch ( LA(1) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt2=1;
- }
- break;
-
- }
-
- switch (alt2)
- {
- case 1:
- // EquationSystem.g:
- {
- if ( ((LA(1) >= '0') && (LA(1) <= '9')) || ((LA(1) >= 'a') && (LA(1) <= 'z')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleVARIABLEEx;
- }
-
-
- }
- break;
-
- default:
- goto loop2; /* break out of the loop */
- break;
- }
- }
- loop2: ; /* Jump out to here if this rule does not match */
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleVARIABLEEx; /* Prevent compiler warnings */
- ruleVARIABLEEx: ;
-
-}
-// $ANTLR end VARIABLE
-
-// Comes from: 38:12: ( ( '\\t' | ' ' | '\\u000C' )+ )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start WHITESPACE
- *
- * Looks to match the characters the constitute the token WHITESPACE
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mWHITESPACE(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = WHITESPACE;
-
-
- // EquationSystem.g:38:12: ( ( '\\t' | ' ' | '\\u000C' )+ )
- // EquationSystem.g:38:14: ( '\\t' | ' ' | '\\u000C' )+
- {
- // EquationSystem.g:38:14: ( '\\t' | ' ' | '\\u000C' )+
- {
- int cnt3=0;
-
- for (;;)
- {
- int alt3=2;
- switch ( LA(1) )
- {
- case '\t':
- case '\f':
- case ' ':
- {
- alt3=1;
- }
- break;
-
- }
-
- switch (alt3)
- {
- case 1:
- // EquationSystem.g:
- {
- if ( LA(1) == '\t' || LA(1) == '\f' || LA(1) == ' ' )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleWHITESPACEEx;
- }
-
-
- }
- break;
-
- default:
-
- if ( cnt3 >= 1 )
- {
- goto loop3;
- }
- /* mismatchedSetEx()
- */
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
-
-
- goto ruleWHITESPACEEx;
- }
- cnt3++;
- }
- loop3: ; /* Jump to here if this rule does not match */
- }
-
- {
-
- LEXSTATE->channel = HIDDEN;
-
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleWHITESPACEEx; /* Prevent compiler warnings */
- ruleWHITESPACEEx: ;
-
-}
-// $ANTLR end WHITESPACE
-
-// Comes from: 45:7: ( '0' .. '9' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start DIGIT
- *
- * Looks to match the characters the constitute the token DIGIT
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mDIGIT(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
-
- // EquationSystem.g:45:7: ( '0' .. '9' )
- // EquationSystem.g:
- {
- if ( ((LA(1) >= '0') && (LA(1) <= '9')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleDIGITEx;
- }
-
-
- }
-
-
- // This is where rules clean up and exit
- //
- goto ruleDIGITEx; /* Prevent compiler warnings */
- ruleDIGITEx: ;
-
-}
-// $ANTLR end DIGIT
-
-// Comes from: 47:7: ( 'a' .. 'z' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start LETTER
- *
- * Looks to match the characters the constitute the token LETTER
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mLETTER(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
-
- // EquationSystem.g:47:7: ( 'a' .. 'z' )
- // EquationSystem.g:
- {
- if ( ((LA(1) >= 'a') && (LA(1) <= 'z')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleLETTEREx;
- }
-
-
- }
-
-
- // This is where rules clean up and exit
- //
- goto ruleLETTEREx; /* Prevent compiler warnings */
- ruleLETTEREx: ;
-
-}
-// $ANTLR end LETTER
-
-/** This is the entry point in to the lexer from an object that
- * wants to generate the next token, such as a pCOMMON_TOKEN_STREAM
- */
-static void
-mTokens(pEquationSystemLexer ctx)
-{
- {
- // EquationSystem.g:1:8: ( COMMA | GREATER_EQUAL | GUARD | MAXIMUM | MINIMUM | MULT | NEWLINE | PLUS | QUESTION_MARK | SUB | T__19 | T__20 | T__21 | T__22 | NUMBER | VARIABLE | WHITESPACE )
-
- ANTLR3_UINT32 alt4;
-
- alt4=17;
-
- switch ( LA(1) )
- {
- case ';':
- {
- alt4=1;
- }
- break;
- case '>':
- {
- alt4=2;
- }
- break;
- case 'g':
- {
- switch ( LA(2) )
- {
- case 'u':
- {
- switch ( LA(3) )
- {
- case 'a':
- {
- switch ( LA(4) )
- {
- case 'r':
- {
- switch ( LA(5) )
- {
- case 'd':
- {
- switch ( LA(6) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt4=16;
- }
- break;
-
- default:
- alt4=3;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
- case 'm':
- {
- switch ( LA(2) )
- {
- case 'a':
- {
- switch ( LA(3) )
- {
- case 'x':
- {
- switch ( LA(4) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt4=16;
- }
- break;
-
- default:
- alt4=4;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
- case 'i':
- {
- switch ( LA(3) )
- {
- case 'n':
- {
- switch ( LA(4) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt4=16;
- }
- break;
-
- default:
- alt4=5;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
- case '*':
- {
- alt4=6;
- }
- break;
- case '\n':
- {
- alt4=7;
- }
- break;
- case '+':
- {
- alt4=8;
- }
- break;
- case '?':
- {
- alt4=9;
- }
- break;
- case '-':
- {
- alt4=10;
- }
- break;
- case '(':
- {
- alt4=11;
- }
- break;
- case ')':
- {
- alt4=12;
- }
- break;
- case ',':
- {
- alt4=13;
- }
- break;
- case '=':
- {
- alt4=14;
- }
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- {
- alt4=15;
- }
- break;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt4=16;
- }
- break;
- case '\t':
- case '\f':
- case ' ':
- {
- alt4=17;
- }
- break;
-
- default:
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 4;
- EXCEPTION->state = 0;
-
-
- goto ruleTokensEx;
-
- }
-
- switch (alt4)
- {
- case 1:
- // EquationSystem.g:1:10: COMMA
- {
- /* 1:10: COMMA */
- mCOMMA(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 2:
- // EquationSystem.g:1:16: GREATER_EQUAL
- {
- /* 1:16: GREATER_EQUAL */
- mGREATER_EQUAL(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 3:
- // EquationSystem.g:1:30: GUARD
- {
- /* 1:30: GUARD */
- mGUARD(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 4:
- // EquationSystem.g:1:36: MAXIMUM
- {
- /* 1:36: MAXIMUM */
- mMAXIMUM(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 5:
- // EquationSystem.g:1:44: MINIMUM
- {
- /* 1:44: MINIMUM */
- mMINIMUM(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 6:
- // EquationSystem.g:1:52: MULT
- {
- /* 1:52: MULT */
- mMULT(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 7:
- // EquationSystem.g:1:57: NEWLINE
- {
- /* 1:57: NEWLINE */
- mNEWLINE(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 8:
- // EquationSystem.g:1:65: PLUS
- {
- /* 1:65: PLUS */
- mPLUS(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 9:
- // EquationSystem.g:1:70: QUESTION_MARK
- {
- /* 1:70: QUESTION_MARK */
- mQUESTION_MARK(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 10:
- // EquationSystem.g:1:84: SUB
- {
- /* 1:84: SUB */
- mSUB(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 11:
- // EquationSystem.g:1:88: T__19
- {
- /* 1:88: T__19 */
- mT__19(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 12:
- // EquationSystem.g:1:94: T__20
- {
- /* 1:94: T__20 */
- mT__20(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 13:
- // EquationSystem.g:1:100: T__21
- {
- /* 1:100: T__21 */
- mT__21(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 14:
- // EquationSystem.g:1:106: T__22
- {
- /* 1:106: T__22 */
- mT__22(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 15:
- // EquationSystem.g:1:112: NUMBER
- {
- /* 1:112: NUMBER */
- mNUMBER(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 16:
- // EquationSystem.g:1:119: VARIABLE
- {
- /* 1:119: VARIABLE */
- mVARIABLE(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 17:
- // EquationSystem.g:1:128: WHITESPACE
- {
- /* 1:128: WHITESPACE */
- mWHITESPACE(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
-
- }
- }
-
-
- goto ruleTokensEx; /* Prevent compiler warnings */
-ruleTokensEx: ;
-}
-
-/* =========================================================================
- * Lexer matching rules end.
- * =========================================================================
- */
-/* End of Lexer code
- * ================================================
- * ================================================
- */
-
-
-/* End of code
- * =============================================================================
- */
diff --git a/impl/EquationSystemLexer.h b/impl/EquationSystemLexer.h
deleted file mode 100644
index eed522f..0000000
--- a/impl/EquationSystemLexer.h
+++ /dev/null
@@ -1,313 +0,0 @@
-/** \file
- * This C header file was generated by $ANTLR version 3.4
- *
- * - From the grammar source file : EquationSystem.g
- * - On : 2012-07-09 19:58:46
- * - for the lexer : EquationSystemLexerLexer
- *
- * Editing it, at least manually, is not wise.
- *
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
- *
- *
- * The lexer
-EquationSystemLexer
-
-has the callable functions (rules) shown below,
- * which will invoke the code for the associated rule in the source grammar
- * assuming that the input stream is pointing to a token/text stream that could begin
- * this rule.
- *
- * For instance if you call the first (topmost) rule in a parser grammar, you will
- * get the results of a full parse, but calling a rule half way through the grammar will
- * allow you to pass part of a full token stream to the parser, such as for syntax checking
- * in editors and so on.
- *
- * The parser entry points are called indirectly (by function pointer to function) via
- * a parser context typedef pEquationSystemLexer, which is returned from a call to EquationSystemLexerNew().
- *
- * As this is a generated lexer, it is unlikely you will call it 'manually'. However
- * the methods are provided anyway.
- *
- * The methods in pEquationSystemLexer are as follows:
- *
- * -
- void
- pEquationSystemLexer->COMMA(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->GREATER_EQUAL(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->GUARD(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->MAXIMUM(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->MINIMUM(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->MULT(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->NEWLINE(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->PLUS(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->QUESTION_MARK(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->SUB(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->T__19(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->T__20(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->T__21(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->T__22(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->NUMBER(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->VARIABLE(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->WHITESPACE(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->DIGIT(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->LETTER(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->Tokens(pEquationSystemLexer)
- *
- * The return type for any particular rule is of course determined by the source
- * grammar file.
- */
-// [The "BSD license"]
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
-// http://www.temporal-wave.com
-// http://www.linkedin.com/in/jimidle
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. 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.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-
-#ifndef _EquationSystemLexer_H
-#define _EquationSystemLexer_H
-/* =============================================================================
- * Standard antlr3 C runtime definitions
- */
-#include <antlr3.h>
-
-/* End of standard antlr 3 runtime definitions
- * =============================================================================
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Forward declare the context typedef so that we can use it before it is
-// properly defined. Delegators and delegates (from import statements) are
-// interdependent and their context structures contain pointers to each other
-// C only allows such things to be declared if you pre-declare the typedef.
-//
-typedef struct EquationSystemLexer_Ctx_struct EquationSystemLexer, * pEquationSystemLexer;
-
-
-
-#ifdef ANTLR3_WINDOWS
-// Disable: Unreferenced parameter, - Rules with parameters that are not used
-// constant conditional, - ANTLR realizes that a prediction is always true (synpred usually)
-// initialized but unused variable - tree rewrite variables declared but not needed
-// Unreferenced local variable - lexer rule declares but does not always use _type
-// potentially unitialized variable used - retval always returned from a rule
-// unreferenced local function has been removed - susually getTokenNames or freeScope, they can go without warnigns
-//
-// These are only really displayed at warning level /W4 but that is the code ideal I am aiming at
-// and the codegen must generate some of these warnings by necessity, apart from 4100, which is
-// usually generated when a parser rule is given a parameter that it does not use. Mostly though
-// this is a matter of orthogonality hence I disable that one.
-//
-#pragma warning( disable : 4100 )
-#pragma warning( disable : 4101 )
-#pragma warning( disable : 4127 )
-#pragma warning( disable : 4189 )
-#pragma warning( disable : 4505 )
-#pragma warning( disable : 4701 )
-#endif
-
-/** Context tracking structure for
-EquationSystemLexer
-
- */
-struct EquationSystemLexer_Ctx_struct
-{
- /** Built in ANTLR3 context tracker contains all the generic elements
- * required for context tracking.
- */
- pANTLR3_LEXER pLexer;
-
- void
- (*mCOMMA) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mGREATER_EQUAL) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mGUARD) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mMAXIMUM) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mMINIMUM) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mMULT) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mNEWLINE) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mPLUS) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mQUESTION_MARK) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mSUB) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mT__19) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mT__20) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mT__21) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mT__22) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mNUMBER) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mVARIABLE) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mWHITESPACE) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mDIGIT) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mLETTER) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mTokens) (struct EquationSystemLexer_Ctx_struct * ctx);
- const char * (*getGrammarFileName)();
- void (*reset) (struct EquationSystemLexer_Ctx_struct * ctx);
- void (*free) (struct EquationSystemLexer_Ctx_struct * ctx);
-};
-
-// Function protoypes for the constructor functions that external translation units
-// such as delegators and delegates may wish to call.
-//
-ANTLR3_API pEquationSystemLexer EquationSystemLexerNew (
-pANTLR3_INPUT_STREAM
- instream);
-ANTLR3_API pEquationSystemLexer EquationSystemLexerNewSSD (
-pANTLR3_INPUT_STREAM
- instream, pANTLR3_RECOGNIZER_SHARED_STATE state);
-
-/** Symbolic definitions of all the tokens that the
-lexer
- will work with.
- * \{
- *
- * Antlr will define EOF, but we can't use that as it it is too common in
- * in C header files and that would be confusing. There is no way to filter this out at the moment
- * so we just undef it here for now. That isn't the value we get back from C recognizers
- * anyway. We are looking for ANTLR3_TOKEN_EOF.
- */
-#ifdef EOF
-#undef EOF
-#endif
-#ifdef Tokens
-#undef Tokens
-#endif
-#define EOF -1
-#define T__19 19
-#define T__20 20
-#define T__21 21
-#define T__22 22
-#define COMMA 4
-#define DIGIT 5
-#define GREATER_EQUAL 6
-#define GUARD 7
-#define LETTER 8
-#define MAXIMUM 9
-#define MINIMUM 10
-#define MULT 11
-#define NEWLINE 12
-#define NUMBER 13
-#define PLUS 14
-#define QUESTION_MARK 15
-#define SUB 16
-#define VARIABLE 17
-#define WHITESPACE 18
-#ifdef EOF
-#undef EOF
-#define EOF ANTLR3_TOKEN_EOF
-#endif
-
-#ifndef TOKENSOURCE
-#define TOKENSOURCE(lxr) lxr->pLexer->rec->state->tokSource
-#endif
-
-/* End of token definitions for EquationSystemLexer
- * =============================================================================
- */
-/** } */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* END - Note:Keep extra line feed to satisfy UNIX systems */
diff --git a/impl/EquationSystemLexer.o b/impl/EquationSystemLexer.o
deleted file mode 100644
index a0acfea..0000000
--- a/impl/EquationSystemLexer.o
+++ /dev/null
Binary files differ
diff --git a/impl/EquationSystemParser.c b/impl/EquationSystemParser.c
deleted file mode 100644
index eefccfb..0000000
--- a/impl/EquationSystemParser.c
+++ /dev/null
@@ -1,2396 +0,0 @@
-/** \file
- * This C source file was generated by $ANTLR version 3.4
- *
- * - From the grammar source file : EquationSystem.g
- * - On : 2012-07-09 19:58:45
- * - for the parser : EquationSystemParserParser
- *
- * Editing it, at least manually, is not wise.
- *
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
- *
- *
-*/
-// [The "BSD license"]
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
-// http://www.temporal-wave.com
-// http://www.linkedin.com/in/jimidle
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. 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.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-
-/* -----------------------------------------
- * Include the ANTLR3 generated header file.
- */
-#include "EquationSystemParser.h"
-/* ----------------------------------------- */
-
-
-
-
-
-/* MACROS that hide the C interface implementations from the
- * generated code, which makes it a little more understandable to the human eye.
- * I am very much against using C pre-processor macros for function calls and bits
- * of code as you cannot see what is happening when single stepping in debuggers
- * and so on. The exception (in my book at least) is for generated code, where you are
- * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()
- * hides some indirect calls, but is always referring to the input stream. This is
- * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig
- * the runtime interfaces without changing the generated code too often, without
- * confusing the reader of the generated output, who may not wish to know the gory
- * details of the interface inheritance.
- */
-
-#define CTX ctx
-
-/* Aids in accessing scopes for grammar programmers
- */
-#undef SCOPE_TYPE
-#undef SCOPE_STACK
-#undef SCOPE_TOP
-#define SCOPE_TYPE(scope) pEquationSystemParser_##scope##_SCOPE
-#define SCOPE_STACK(scope) pEquationSystemParser_##scope##Stack
-#define SCOPE_TOP(scope) ctx->pEquationSystemParser_##scope##Top
-#define SCOPE_SIZE(scope) ctx->pEquationSystemParser_##scope##Stack_limit
-#define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))
-
-/* Macros for accessing things in the parser
- */
-
-#undef PARSER
-#undef RECOGNIZER
-#undef HAVEPARSEDRULE
-#undef MEMOIZE
-#undef INPUT
-#undef STRSTREAM
-#undef HASEXCEPTION
-#undef EXCEPTION
-#undef MATCHT
-#undef MATCHANYT
-#undef FOLLOWSTACK
-#undef FOLLOWPUSH
-#undef FOLLOWPOP
-#undef PRECOVER
-#undef PREPORTERROR
-#undef LA
-#undef LT
-#undef CONSTRUCTEX
-#undef CONSUME
-#undef MARK
-#undef REWIND
-#undef REWINDLAST
-#undef PERRORRECOVERY
-#undef HASFAILED
-#undef FAILEDFLAG
-#undef RECOVERFROMMISMATCHEDSET
-#undef RECOVERFROMMISMATCHEDELEMENT
-#undef INDEX
-#undef ADAPTOR
-#undef SEEK
-#undef RULEMEMO
-#undef DBG
-
-#define PARSER ctx->pParser
-#define RECOGNIZER PARSER->rec
-#define PSRSTATE RECOGNIZER->state
-#define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)
-#define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)
-#define INPUT PARSER->tstream
-#define STRSTREAM INPUT
-#define ISTREAM INPUT->istream
-#define INDEX() ISTREAM->index(INPUT->istream)
-#define HASEXCEPTION() (PSRSTATE->error == ANTLR3_TRUE)
-#define EXCEPTION PSRSTATE->exception
-#define MATCHT(t, fs) RECOGNIZER->match(RECOGNIZER, t, fs)
-#define MATCHANYT() RECOGNIZER->matchAny(RECOGNIZER)
-#define FOLLOWSTACK PSRSTATE->following
-#ifdef SKIP_FOLLOW_SETS
-#define FOLLOWPUSH(x)
-#define FOLLOWPOP()
-#else
-#define FOLLOWPUSH(x) FOLLOWSTACK->push(FOLLOWSTACK, ((void *)(&(x))), NULL)
-#define FOLLOWPOP() FOLLOWSTACK->pop(FOLLOWSTACK)
-#endif
-#define PRECOVER() RECOGNIZER->recover(RECOGNIZER)
-#define PREPORTERROR() RECOGNIZER->reportError(RECOGNIZER)
-#define LA(n) INPUT->istream->_LA(ISTREAM, n)
-#define LT(n) INPUT->_LT(INPUT, n)
-#define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)
-#define CONSUME() ISTREAM->consume(ISTREAM)
-#define MARK() ISTREAM->mark(ISTREAM)
-#define REWIND(m) ISTREAM->rewind(ISTREAM, m)
-#define REWINDLAST() ISTREAM->rewindLast(ISTREAM)
-#define SEEK(n) ISTREAM->seek(ISTREAM, n)
-#define PERRORRECOVERY PSRSTATE->errorRecovery
-#define FAILEDFLAG PSRSTATE->failed
-#define HASFAILED() (FAILEDFLAG == ANTLR3_TRUE)
-#define BACKTRACKING PSRSTATE->backtracking
-#define RECOVERFROMMISMATCHEDSET(s) RECOGNIZER->recoverFromMismatchedSet(RECOGNIZER, s)
-#define RECOVERFROMMISMATCHEDELEMENT(e) RECOGNIZER->recoverFromMismatchedElement(RECOGNIZER, s)
-#define ADAPTOR ctx->adaptor
-#define RULEMEMO PSRSTATE->ruleMemo
-#define DBG RECOGNIZER->debugger
-
-
-#define TOKTEXT(tok, txt) tok, (pANTLR3_UINT8)txt
-
-/* The 4 tokens defined below may well clash with your own #defines or token types. If so
- * then for the present you must use different names for your defines as these are hard coded
- * in the code generator. It would be better not to use such names internally, and maybe
- * we can change this in a forthcoming release. I deliberately do not #undef these
- * here as this will at least give you a redefined error somewhere if they clash.
- */
-#define UP ANTLR3_TOKEN_UP
-#define DOWN ANTLR3_TOKEN_DOWN
-#define EOR ANTLR3_TOKEN_EOR
-#define INVALID ANTLR3_TOKEN_INVALID
-
-
-/* =============================================================================
- * Functions to create and destroy scopes. First come the rule scopes, followed
- * by the global declared scopes.
- */
-
-
-
-/* ============================================================================= */
-
-/* =============================================================================
- * Start of recognizer
- */
-
-
-/** \brief Table of all token names in symbolic order, mainly used for
- * error reporting.
- */
-pANTLR3_UINT8 EquationSystemParserTokenNames[19+4]
- = {
- (pANTLR3_UINT8) "<invalid>", /* String to print to indicate an invalid token */
- (pANTLR3_UINT8) "<EOR>",
- (pANTLR3_UINT8) "<DOWN>",
- (pANTLR3_UINT8) "<UP>",
- (pANTLR3_UINT8) "COMMA",
- (pANTLR3_UINT8) "DIGIT",
- (pANTLR3_UINT8) "GREATER_EQUAL",
- (pANTLR3_UINT8) "GUARD",
- (pANTLR3_UINT8) "LETTER",
- (pANTLR3_UINT8) "MAXIMUM",
- (pANTLR3_UINT8) "MINIMUM",
- (pANTLR3_UINT8) "MULT",
- (pANTLR3_UINT8) "NEWLINE",
- (pANTLR3_UINT8) "NUMBER",
- (pANTLR3_UINT8) "PLUS",
- (pANTLR3_UINT8) "QUESTION_MARK",
- (pANTLR3_UINT8) "SUB",
- (pANTLR3_UINT8) "VARIABLE",
- (pANTLR3_UINT8) "WHITESPACE",
- (pANTLR3_UINT8) "'('",
- (pANTLR3_UINT8) "')'",
- (pANTLR3_UINT8) "','",
- (pANTLR3_UINT8) "'='"
- };
-
-
-
-// Forward declare the locally static matching functions we have generated.
-//
-static
- EquationSystemParser_equation_system_return
- equation_system (pEquationSystemParser ctx);
-static
- EquationSystemParser_equation_return
- equation (pEquationSystemParser ctx);
-static
- EquationSystemParser_maxExpr_return
- maxExpr (pEquationSystemParser ctx);
-static
- EquationSystemParser_minExpr_return
- minExpr (pEquationSystemParser ctx);
-static
- EquationSystemParser_expr_return
- expr (pEquationSystemParser ctx);
-static
- EquationSystemParser_term_return
- term (pEquationSystemParser ctx);
-static
- ANTLR3_BOOLEAN
- synpred8_EquationSystem (pEquationSystemParser ctx);
-static
- ANTLR3_BOOLEAN
- synpred12_EquationSystem (pEquationSystemParser ctx);
-static void EquationSystemParserFree(pEquationSystemParser ctx);
-static void EquationSystemParserReset (pEquationSystemParser ctx);
-
-/* For use in tree output where we are accumulating rule labels via label += ruleRef
- * we need a function that knows how to free a return scope when the list is destroyed.
- * We cannot just use ANTLR3_FREE because in debug tracking mode, this is a macro.
- */
-static void ANTLR3_CDECL freeScope(void * scope)
-{
- ANTLR3_FREE(scope);
-}
-
-/** \brief Name of the grammar file that generated this code
- */
-static const char fileName[] = "EquationSystem.g";
-
-/** \brief Return the name of the grammar file that generated this code.
- */
-static const char * getGrammarFileName()
-{
- return fileName;
-}
-/** \brief Create a new EquationSystemParser parser and return a context for it.
- *
- * \param[in] instream Pointer to an input stream interface.
- *
- * \return Pointer to new parser context upon success.
- */
-ANTLR3_API pEquationSystemParser
-EquationSystemParserNew (pANTLR3_COMMON_TOKEN_STREAM instream)
-{
- // See if we can create a new parser with the standard constructor
- //
- return EquationSystemParserNewSSD(instream, NULL);
-}
-
-/** \brief Create a new EquationSystemParser parser and return a context for it.
- *
- * \param[in] instream Pointer to an input stream interface.
- *
- * \return Pointer to new parser context upon success.
- */
-ANTLR3_API pEquationSystemParser
-EquationSystemParserNewSSD (pANTLR3_COMMON_TOKEN_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
-{
- pEquationSystemParser ctx; /* Context structure we will build and return */
-
- ctx = (pEquationSystemParser) ANTLR3_CALLOC(1, sizeof(EquationSystemParser));
-
- if (ctx == NULL)
- {
- // Failed to allocate memory for parser context
- //
- return NULL;
- }
-
- /* -------------------------------------------------------------------
- * Memory for basic structure is allocated, now to fill in
- * the base ANTLR3 structures. We initialize the function pointers
- * for the standard ANTLR3 parser function set, but upon return
- * from here, the programmer may set the pointers to provide custom
- * implementations of each function.
- *
- * We don't use the macros defined in EquationSystemParser.h here, in order that you can get a sense
- * of what goes where.
- */
-
- /* Create a base parser/recognizer, using the supplied token stream
- */
- ctx->pParser = antlr3ParserNewStream(ANTLR3_SIZE_HINT, instream->tstream, state);
- /* Install the implementation of our EquationSystemParser interface
- */
- ctx->equation_system = equation_system;
- ctx->equation = equation;
- ctx->maxExpr = maxExpr;
- ctx->minExpr = minExpr;
- ctx->expr = expr;
- ctx->term = term;
- ctx->synpred8_EquationSystem = synpred8_EquationSystem;
- ctx->synpred12_EquationSystem = synpred12_EquationSystem;
- ctx->free = EquationSystemParserFree;
- ctx->reset = EquationSystemParserReset;
- ctx->getGrammarFileName = getGrammarFileName;
-
- /* Install the scope pushing methods.
- */
-ADAPTOR = ANTLR3_TREE_ADAPTORNew(instream->tstream->tokenSource->strFactory);
-
-ctx->vectors = antlr3VectorFactoryNew(0);
- /* Install the token table
- */
- PSRSTATE->tokenNames = EquationSystemParserTokenNames;
-
-
- /* Return the newly built parser to the caller
- */
- return ctx;
-}
-
-static void
-EquationSystemParserReset (pEquationSystemParser ctx)
-{
- RECOGNIZER->reset(RECOGNIZER);
-}
-
-/** Free the parser resources
- */
- static void
- EquationSystemParserFree(pEquationSystemParser ctx)
- {
- /* Free any scope memory
- */
-
-ctx->vectors->close(ctx->vectors);
-/* We created the adaptor so we must free it
- */
-ADAPTOR->free(ADAPTOR);
- // Free this parser
- //
- ctx->pParser->free(ctx->pParser);
-
-
- ANTLR3_FREE(ctx);
-
- /* Everything is released, so we can return
- */
- return;
- }
-
-/** Return token names used by this
-parser
-
- *
- * The returned pointer is used as an index into the token names table (using the token
- * number as the index).
- *
- * \return Pointer to first char * in the table.
- */
-static pANTLR3_UINT8 *getTokenNames()
-{
- return EquationSystemParserTokenNames;
-}
-
-
-/* Declare the bitsets
- */
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_equation_in_equation_system141 */
-static ANTLR3_BITWORD FOLLOW_equation_in_equation_system141_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) };
-static ANTLR3_BITSET_LIST FOLLOW_equation_in_equation_system141 = { FOLLOW_equation_in_equation_system141_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_NEWLINE_in_equation_system145 */
-static ANTLR3_BITWORD FOLLOW_NEWLINE_in_equation_system145_bits[] = { ANTLR3_UINT64_LIT(0x0000000000021000) };
-static ANTLR3_BITSET_LIST FOLLOW_NEWLINE_in_equation_system145 = { FOLLOW_NEWLINE_in_equation_system145_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_equation_in_equation_system150 */
-static ANTLR3_BITWORD FOLLOW_equation_in_equation_system150_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) };
-static ANTLR3_BITSET_LIST FOLLOW_equation_in_equation_system150 = { FOLLOW_equation_in_equation_system150_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_NEWLINE_in_equation_system157 */
-static ANTLR3_BITWORD FOLLOW_NEWLINE_in_equation_system157_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) };
-static ANTLR3_BITSET_LIST FOLLOW_NEWLINE_in_equation_system157 = { FOLLOW_NEWLINE_in_equation_system157_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARIABLE_in_equation168 */
-static ANTLR3_BITWORD FOLLOW_VARIABLE_in_equation168_bits[] = { ANTLR3_UINT64_LIT(0x0000000000400000) };
-static ANTLR3_BITSET_LIST FOLLOW_VARIABLE_in_equation168 = { FOLLOW_VARIABLE_in_equation168_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_22_in_equation170 */
-static ANTLR3_BITWORD FOLLOW_22_in_equation170_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2600) };
-static ANTLR3_BITSET_LIST FOLLOW_22_in_equation170 = { FOLLOW_22_in_equation170_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_maxExpr_in_equation173 */
-static ANTLR3_BITWORD FOLLOW_maxExpr_in_equation173_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_maxExpr_in_equation173 = { FOLLOW_maxExpr_in_equation173_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXIMUM_in_maxExpr182 */
-static ANTLR3_BITWORD FOLLOW_MAXIMUM_in_maxExpr182_bits[] = { ANTLR3_UINT64_LIT(0x0000000000080000) };
-static ANTLR3_BITSET_LIST FOLLOW_MAXIMUM_in_maxExpr182 = { FOLLOW_MAXIMUM_in_maxExpr182_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_maxExpr185 */
-static ANTLR3_BITWORD FOLLOW_19_in_maxExpr185_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2400) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_maxExpr185 = { FOLLOW_19_in_maxExpr185_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_minExpr_in_maxExpr188 */
-static ANTLR3_BITWORD FOLLOW_minExpr_in_maxExpr188_bits[] = { ANTLR3_UINT64_LIT(0x0000000000300000) };
-static ANTLR3_BITSET_LIST FOLLOW_minExpr_in_maxExpr188 = { FOLLOW_minExpr_in_maxExpr188_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_21_in_maxExpr192 */
-static ANTLR3_BITWORD FOLLOW_21_in_maxExpr192_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2400) };
-static ANTLR3_BITSET_LIST FOLLOW_21_in_maxExpr192 = { FOLLOW_21_in_maxExpr192_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_minExpr_in_maxExpr195 */
-static ANTLR3_BITWORD FOLLOW_minExpr_in_maxExpr195_bits[] = { ANTLR3_UINT64_LIT(0x0000000000300000) };
-static ANTLR3_BITSET_LIST FOLLOW_minExpr_in_maxExpr195 = { FOLLOW_minExpr_in_maxExpr195_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_maxExpr200 */
-static ANTLR3_BITWORD FOLLOW_20_in_maxExpr200_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_maxExpr200 = { FOLLOW_20_in_maxExpr200_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_minExpr_in_maxExpr205 */
-static ANTLR3_BITWORD FOLLOW_minExpr_in_maxExpr205_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_minExpr_in_maxExpr205 = { FOLLOW_minExpr_in_maxExpr205_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINIMUM_in_minExpr213 */
-static ANTLR3_BITWORD FOLLOW_MINIMUM_in_minExpr213_bits[] = { ANTLR3_UINT64_LIT(0x0000000000080000) };
-static ANTLR3_BITSET_LIST FOLLOW_MINIMUM_in_minExpr213 = { FOLLOW_MINIMUM_in_minExpr213_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_minExpr216 */
-static ANTLR3_BITWORD FOLLOW_19_in_minExpr216_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2600) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_minExpr216 = { FOLLOW_19_in_minExpr216_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_maxExpr_in_minExpr219 */
-static ANTLR3_BITWORD FOLLOW_maxExpr_in_minExpr219_bits[] = { ANTLR3_UINT64_LIT(0x0000000000300000) };
-static ANTLR3_BITSET_LIST FOLLOW_maxExpr_in_minExpr219 = { FOLLOW_maxExpr_in_minExpr219_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_21_in_minExpr223 */
-static ANTLR3_BITWORD FOLLOW_21_in_minExpr223_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2600) };
-static ANTLR3_BITSET_LIST FOLLOW_21_in_minExpr223 = { FOLLOW_21_in_minExpr223_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_maxExpr_in_minExpr226 */
-static ANTLR3_BITWORD FOLLOW_maxExpr_in_minExpr226_bits[] = { ANTLR3_UINT64_LIT(0x0000000000300000) };
-static ANTLR3_BITSET_LIST FOLLOW_maxExpr_in_minExpr226 = { FOLLOW_maxExpr_in_minExpr226_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_minExpr231 */
-static ANTLR3_BITWORD FOLLOW_20_in_minExpr231_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_minExpr231 = { FOLLOW_20_in_minExpr231_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_minExpr236 */
-static ANTLR3_BITWORD FOLLOW_expr_in_minExpr236_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_minExpr236 = { FOLLOW_expr_in_minExpr236_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_expr245 */
-static ANTLR3_BITWORD FOLLOW_19_in_expr245_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_expr245 = { FOLLOW_19_in_expr245_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_expr247 */
-static ANTLR3_BITWORD FOLLOW_expr_in_expr247_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000040) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_expr247 = { FOLLOW_expr_in_expr247_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_GREATER_EQUAL_in_expr249 */
-static ANTLR3_BITWORD FOLLOW_GREATER_EQUAL_in_expr249_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_GREATER_EQUAL_in_expr249 = { FOLLOW_GREATER_EQUAL_in_expr249_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_expr251 */
-static ANTLR3_BITWORD FOLLOW_expr_in_expr251_bits[] = { ANTLR3_UINT64_LIT(0x0000000000008000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_expr251 = { FOLLOW_expr_in_expr251_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUESTION_MARK_in_expr253 */
-static ANTLR3_BITWORD FOLLOW_QUESTION_MARK_in_expr253_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_QUESTION_MARK_in_expr253 = { FOLLOW_QUESTION_MARK_in_expr253_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_expr255 */
-static ANTLR3_BITWORD FOLLOW_expr_in_expr255_bits[] = { ANTLR3_UINT64_LIT(0x0000000000100000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_expr255 = { FOLLOW_expr_in_expr255_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_expr257 */
-static ANTLR3_BITWORD FOLLOW_20_in_expr257_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_expr257 = { FOLLOW_20_in_expr257_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_term_in_expr278 */
-static ANTLR3_BITWORD FOLLOW_term_in_expr278_bits[] = { ANTLR3_UINT64_LIT(0x0000000000014812) };
-static ANTLR3_BITSET_LIST FOLLOW_term_in_expr278 = { FOLLOW_term_in_expr278_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_expr282 */
-static ANTLR3_BITWORD FOLLOW_set_in_expr282_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_set_in_expr282 = { FOLLOW_set_in_expr282_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_expr299 */
-static ANTLR3_BITWORD FOLLOW_expr_in_expr299_bits[] = { ANTLR3_UINT64_LIT(0x0000000000014812) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_expr299 = { FOLLOW_expr_in_expr299_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_NUMBER_in_term311 */
-static ANTLR3_BITWORD FOLLOW_NUMBER_in_term311_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_NUMBER_in_term311 = { FOLLOW_NUMBER_in_term311_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARIABLE_in_term320 */
-static ANTLR3_BITWORD FOLLOW_VARIABLE_in_term320_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_VARIABLE_in_term320 = { FOLLOW_VARIABLE_in_term320_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_term329 */
-static ANTLR3_BITWORD FOLLOW_19_in_term329_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_term329 = { FOLLOW_19_in_term329_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_term332 */
-static ANTLR3_BITWORD FOLLOW_expr_in_term332_bits[] = { ANTLR3_UINT64_LIT(0x0000000000100000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_term332 = { FOLLOW_expr_in_term332_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_term334 */
-static ANTLR3_BITWORD FOLLOW_20_in_term334_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_term334 = { FOLLOW_20_in_term334_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_synpred8_EquationSystem245 */
-static ANTLR3_BITWORD FOLLOW_19_in_synpred8_EquationSystem245_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_synpred8_EquationSystem245 = { FOLLOW_19_in_synpred8_EquationSystem245_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_synpred8_EquationSystem247 */
-static ANTLR3_BITWORD FOLLOW_expr_in_synpred8_EquationSystem247_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000040) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_synpred8_EquationSystem247 = { FOLLOW_expr_in_synpred8_EquationSystem247_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249 */
-static ANTLR3_BITWORD FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249 = { FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_synpred8_EquationSystem251 */
-static ANTLR3_BITWORD FOLLOW_expr_in_synpred8_EquationSystem251_bits[] = { ANTLR3_UINT64_LIT(0x0000000000008000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_synpred8_EquationSystem251 = { FOLLOW_expr_in_synpred8_EquationSystem251_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253 */
-static ANTLR3_BITWORD FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253 = { FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_synpred8_EquationSystem255 */
-static ANTLR3_BITWORD FOLLOW_expr_in_synpred8_EquationSystem255_bits[] = { ANTLR3_UINT64_LIT(0x0000000000100000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_synpred8_EquationSystem255 = { FOLLOW_expr_in_synpred8_EquationSystem255_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_synpred8_EquationSystem257 */
-static ANTLR3_BITWORD FOLLOW_20_in_synpred8_EquationSystem257_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_synpred8_EquationSystem257 = { FOLLOW_20_in_synpred8_EquationSystem257_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_synpred12_EquationSystem282 */
-static ANTLR3_BITWORD FOLLOW_set_in_synpred12_EquationSystem282_bits[] = { ANTLR3_UINT64_LIT(0x00000000000A2000) };
-static ANTLR3_BITSET_LIST FOLLOW_set_in_synpred12_EquationSystem282 = { FOLLOW_set_in_synpred12_EquationSystem282_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_synpred12_EquationSystem299 */
-static ANTLR3_BITWORD FOLLOW_expr_in_synpred12_EquationSystem299_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_synpred12_EquationSystem299 = { FOLLOW_expr_in_synpred12_EquationSystem299_bits, 1 };
-
-
-
-/* =========================================================================
- * DFA tables for the parser
- */
-/** Static dfa state tables for Cyclic dfa:
- * ()* loopback of 22:28: ( ( NEWLINE !)+ equation )*
- */
-static const ANTLR3_INT32 dfa2_eot[4] =
- {
- -1, -1, -1, -1
- };
-static const ANTLR3_INT32 dfa2_eof[4] =
- {
- 2, 2, -1, -1
- };
-static const ANTLR3_INT32 dfa2_min[4] =
- {
- 12, 12, -1, -1
- };
-static const ANTLR3_INT32 dfa2_max[4] =
- {
- 12, 17, -1, -1
- };
-static const ANTLR3_INT32 dfa2_accept[4] =
- {
- -1, -1, 2, 1
- };
-static const ANTLR3_INT32 dfa2_special[4] =
- {
- -1, -1, -1, -1
- };
-
-/** Used when there is no transition table entry for a particular state */
-#define dfa2_T_empty NULL
-
-static const ANTLR3_INT32 dfa2_T0[] =
- {
- 1, -1, -1, -1, -1, 3
- };
-
-static const ANTLR3_INT32 dfa2_T1[] =
- {
- 1
- };
-
-
-/* Transition tables are a table of sub tables, with some tables
- * reused for efficiency.
- */
-static const ANTLR3_INT32 * const dfa2_transitions[] =
-{
- dfa2_T1, dfa2_T0, NULL, NULL
-};
-
-
-/* Declare tracking structure for Cyclic DFA 2
- */
-static
-ANTLR3_CYCLIC_DFA cdfa2
- = {
- 2, /* Decision number of this dfa */
- /* Which decision this represents: */
- (const pANTLR3_UCHAR)"()* loopback of 22:28: ( ( NEWLINE !)+ equation )*",
- (CDFA_SPECIAL_FUNC) antlr3dfaspecialStateTransition, /* Default special state transition function */
-
- antlr3dfaspecialTransition, /* DFA specialTransition is currently just a default function in the runtime */
- antlr3dfapredict, /* DFA simulator function is in the runtime */
- dfa2_eot, /* EOT table */
- dfa2_eof, /* EOF table */
- dfa2_min, /* Minimum tokens for each state */
- dfa2_max, /* Maximum tokens for each state */
- dfa2_accept, /* Accept table */
- dfa2_special, /* Special transition states */
- dfa2_transitions /* Table of transition tables */
-
- };
-/* End of Cyclic DFA 2
- * ---------------------
- */
-/* =========================================================================
- * End of DFA tables for the parser
- */
-
-/* ==============================================
- * Parsing rules
- */
-/**
- * $ANTLR start equation_system
- * EquationSystem.g:22:1: equation_system : equation ( ( NEWLINE !)+ equation )* ( NEWLINE !)* ;
- */
-static EquationSystemParser_equation_system_return
-equation_system(pEquationSystemParser ctx)
-{
- EquationSystemParser_equation_system_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN NEWLINE2;
- pANTLR3_COMMON_TOKEN NEWLINE4;
- EquationSystemParser_equation_return equation1;
- #undef RETURN_TYPE_equation1
- #define RETURN_TYPE_equation1 EquationSystemParser_equation_return
-
- EquationSystemParser_equation_return equation3;
- #undef RETURN_TYPE_equation3
- #define RETURN_TYPE_equation3 EquationSystemParser_equation_return
-
- pANTLR3_BASE_TREE NEWLINE2_tree;
- pANTLR3_BASE_TREE NEWLINE4_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- NEWLINE2 = NULL;
- NEWLINE4 = NULL;
- equation1.tree = NULL;
-
- equation3.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- NEWLINE2_tree = NULL;
- NEWLINE4_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- // EquationSystem.g:22:17: ( equation ( ( NEWLINE !)+ equation )* ( NEWLINE !)* )
- // EquationSystem.g:22:19: equation ( ( NEWLINE !)+ equation )* ( NEWLINE !)*
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- FOLLOWPUSH(FOLLOW_equation_in_equation_system141);
- equation1=equation(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equation1.tree);
-
- // EquationSystem.g:22:28: ( ( NEWLINE !)+ equation )*
-
- for (;;)
- {
- int alt2=2;
- alt2 = cdfa2.predict(ctx, RECOGNIZER, ISTREAM, &cdfa2);
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- switch (alt2)
- {
- case 1:
- // EquationSystem.g:22:30: ( NEWLINE !)+ equation
- {
- // EquationSystem.g:22:37: ( NEWLINE !)+
- {
- int cnt1=0;
-
- for (;;)
- {
- int alt1=2;
- switch ( LA(1) )
- {
- case NEWLINE:
- {
- alt1=1;
- }
- break;
-
- }
-
- switch (alt1)
- {
- case 1:
- // EquationSystem.g:22:37: NEWLINE !
- {
- NEWLINE2 = (pANTLR3_COMMON_TOKEN) MATCHT(NEWLINE, &FOLLOW_NEWLINE_in_equation_system145);
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
-
- default:
-
- if ( cnt1 >= 1 )
- {
- goto loop1;
- }
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- /* mismatchedSetEx()
- */
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
-
-
- goto ruleequation_systemEx;
- }
- cnt1++;
- }
- loop1: ; /* Jump to here if this rule does not match */
- }
-
- FOLLOWPUSH(FOLLOW_equation_in_equation_system150);
- equation3=equation(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equation3.tree);
-
- }
- break;
-
- default:
- goto loop2; /* break out of the loop */
- break;
- }
- }
- loop2: ; /* Jump out to here if this rule does not match */
-
-
- // EquationSystem.g:22:54: ( NEWLINE !)*
-
- for (;;)
- {
- int alt3=2;
- switch ( LA(1) )
- {
- case NEWLINE:
- {
- alt3=1;
- }
- break;
-
- }
-
- switch (alt3)
- {
- case 1:
- // EquationSystem.g:22:55: NEWLINE !
- {
- NEWLINE4 = (pANTLR3_COMMON_TOKEN) MATCHT(NEWLINE, &FOLLOW_NEWLINE_in_equation_system157);
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
-
- default:
- goto loop3; /* break out of the loop */
- break;
- }
- }
- loop3: ; /* Jump out to here if this rule does not match */
-
-
- }
-
- }
-
- // This is where rules clean up and exit
- //
- goto ruleequation_systemEx; /* Prevent compiler warnings */
- ruleequation_systemEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end equation_system */
-
-/**
- * $ANTLR start equation
- * EquationSystem.g:23:1: equation : VARIABLE '=' ! maxExpr ;
- */
-static EquationSystemParser_equation_return
-equation(pEquationSystemParser ctx)
-{
- EquationSystemParser_equation_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN VARIABLE5;
- pANTLR3_COMMON_TOKEN char_literal6;
- EquationSystemParser_maxExpr_return maxExpr7;
- #undef RETURN_TYPE_maxExpr7
- #define RETURN_TYPE_maxExpr7 EquationSystemParser_maxExpr_return
-
- pANTLR3_BASE_TREE VARIABLE5_tree;
- pANTLR3_BASE_TREE char_literal6_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- VARIABLE5 = NULL;
- char_literal6 = NULL;
- maxExpr7.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- VARIABLE5_tree = NULL;
- char_literal6_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- // EquationSystem.g:23:10: ( VARIABLE '=' ! maxExpr )
- // EquationSystem.g:23:12: VARIABLE '=' ! maxExpr
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- VARIABLE5 = (pANTLR3_COMMON_TOKEN) MATCHT(VARIABLE, &FOLLOW_VARIABLE_in_equation168);
- if (HASEXCEPTION())
- {
- goto ruleequationEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- VARIABLE5_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARIABLE5));
- ADAPTOR->addChild(ADAPTOR, root_0, VARIABLE5_tree);
- }
-
- char_literal6 = (pANTLR3_COMMON_TOKEN) MATCHT(22, &FOLLOW_22_in_equation170);
- if (HASEXCEPTION())
- {
- goto ruleequationEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_maxExpr_in_equation173);
- maxExpr7=maxExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleequationEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, maxExpr7.tree);
-
- }
-
- }
-
- // This is where rules clean up and exit
- //
- goto ruleequationEx; /* Prevent compiler warnings */
- ruleequationEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end equation */
-
-/**
- * $ANTLR start maxExpr
- * EquationSystem.g:25:1: maxExpr : ( MAXIMUM ^ '(' ! minExpr ( ',' ! minExpr )* ')' !| minExpr );
- */
-static EquationSystemParser_maxExpr_return
-maxExpr(pEquationSystemParser ctx)
-{
- EquationSystemParser_maxExpr_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN MAXIMUM8;
- pANTLR3_COMMON_TOKEN char_literal9;
- pANTLR3_COMMON_TOKEN char_literal11;
- pANTLR3_COMMON_TOKEN char_literal13;
- EquationSystemParser_minExpr_return minExpr10;
- #undef RETURN_TYPE_minExpr10
- #define RETURN_TYPE_minExpr10 EquationSystemParser_minExpr_return
-
- EquationSystemParser_minExpr_return minExpr12;
- #undef RETURN_TYPE_minExpr12
- #define RETURN_TYPE_minExpr12 EquationSystemParser_minExpr_return
-
- EquationSystemParser_minExpr_return minExpr14;
- #undef RETURN_TYPE_minExpr14
- #define RETURN_TYPE_minExpr14 EquationSystemParser_minExpr_return
-
- pANTLR3_BASE_TREE MAXIMUM8_tree;
- pANTLR3_BASE_TREE char_literal9_tree;
- pANTLR3_BASE_TREE char_literal11_tree;
- pANTLR3_BASE_TREE char_literal13_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- MAXIMUM8 = NULL;
- char_literal9 = NULL;
- char_literal11 = NULL;
- char_literal13 = NULL;
- minExpr10.tree = NULL;
-
- minExpr12.tree = NULL;
-
- minExpr14.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- MAXIMUM8_tree = NULL;
- char_literal9_tree = NULL;
- char_literal11_tree = NULL;
- char_literal13_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- {
- // EquationSystem.g:25:9: ( MAXIMUM ^ '(' ! minExpr ( ',' ! minExpr )* ')' !| minExpr )
-
- ANTLR3_UINT32 alt5;
-
- alt5=2;
-
- switch ( LA(1) )
- {
- case MAXIMUM:
- {
- alt5=1;
- }
- break;
- case MINIMUM:
- case NUMBER:
- case VARIABLE:
- case 19:
- {
- alt5=2;
- }
- break;
-
- default:
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 5;
- EXCEPTION->state = 0;
-
-
- goto rulemaxExprEx;
-
- }
-
- switch (alt5)
- {
- case 1:
- // EquationSystem.g:25:11: MAXIMUM ^ '(' ! minExpr ( ',' ! minExpr )* ')' !
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- MAXIMUM8 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXIMUM, &FOLLOW_MAXIMUM_in_maxExpr182);
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- MAXIMUM8_tree =
- (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXIMUM8))
- ;
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, MAXIMUM8_tree, root_0));
- }
-
- char_literal9 = (pANTLR3_COMMON_TOKEN) MATCHT(19, &FOLLOW_19_in_maxExpr185);
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_minExpr_in_maxExpr188);
- minExpr10=minExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, minExpr10.tree);
-
- // EquationSystem.g:25:33: ( ',' ! minExpr )*
-
- for (;;)
- {
- int alt4=2;
- switch ( LA(1) )
- {
- case 21:
- {
- alt4=1;
- }
- break;
-
- }
-
- switch (alt4)
- {
- case 1:
- // EquationSystem.g:25:35: ',' ! minExpr
- {
- char_literal11 = (pANTLR3_COMMON_TOKEN) MATCHT(21, &FOLLOW_21_in_maxExpr192);
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_minExpr_in_maxExpr195);
- minExpr12=minExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, minExpr12.tree);
-
- }
- break;
-
- default:
- goto loop4; /* break out of the loop */
- break;
- }
- }
- loop4: ; /* Jump out to here if this rule does not match */
-
-
- char_literal13 = (pANTLR3_COMMON_TOKEN) MATCHT(20, &FOLLOW_20_in_maxExpr200);
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
- case 2:
- // EquationSystem.g:25:58: minExpr
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- FOLLOWPUSH(FOLLOW_minExpr_in_maxExpr205);
- minExpr14=minExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, minExpr14.tree);
-
- }
- break;
-
- }
- }
- }
-
- // This is where rules clean up and exit
- //
- goto rulemaxExprEx; /* Prevent compiler warnings */
- rulemaxExprEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end maxExpr */
-
-/**
- * $ANTLR start minExpr
- * EquationSystem.g:26:1: minExpr : ( MINIMUM ^ '(' ! maxExpr ( ',' ! maxExpr )* ')' !| expr );
- */
-static EquationSystemParser_minExpr_return
-minExpr(pEquationSystemParser ctx)
-{
- EquationSystemParser_minExpr_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN MINIMUM15;
- pANTLR3_COMMON_TOKEN char_literal16;
- pANTLR3_COMMON_TOKEN char_literal18;
- pANTLR3_COMMON_TOKEN char_literal20;
- EquationSystemParser_maxExpr_return maxExpr17;
- #undef RETURN_TYPE_maxExpr17
- #define RETURN_TYPE_maxExpr17 EquationSystemParser_maxExpr_return
-
- EquationSystemParser_maxExpr_return maxExpr19;
- #undef RETURN_TYPE_maxExpr19
- #define RETURN_TYPE_maxExpr19 EquationSystemParser_maxExpr_return
-
- EquationSystemParser_expr_return expr21;
- #undef RETURN_TYPE_expr21
- #define RETURN_TYPE_expr21 EquationSystemParser_expr_return
-
- pANTLR3_BASE_TREE MINIMUM15_tree;
- pANTLR3_BASE_TREE char_literal16_tree;
- pANTLR3_BASE_TREE char_literal18_tree;
- pANTLR3_BASE_TREE char_literal20_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- MINIMUM15 = NULL;
- char_literal16 = NULL;
- char_literal18 = NULL;
- char_literal20 = NULL;
- maxExpr17.tree = NULL;
-
- maxExpr19.tree = NULL;
-
- expr21.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- MINIMUM15_tree = NULL;
- char_literal16_tree = NULL;
- char_literal18_tree = NULL;
- char_literal20_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- {
- // EquationSystem.g:26:9: ( MINIMUM ^ '(' ! maxExpr ( ',' ! maxExpr )* ')' !| expr )
-
- ANTLR3_UINT32 alt7;
-
- alt7=2;
-
- switch ( LA(1) )
- {
- case MINIMUM:
- {
- alt7=1;
- }
- break;
- case NUMBER:
- case VARIABLE:
- case 19:
- {
- alt7=2;
- }
- break;
-
- default:
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 7;
- EXCEPTION->state = 0;
-
-
- goto ruleminExprEx;
-
- }
-
- switch (alt7)
- {
- case 1:
- // EquationSystem.g:26:11: MINIMUM ^ '(' ! maxExpr ( ',' ! maxExpr )* ')' !
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- MINIMUM15 = (pANTLR3_COMMON_TOKEN) MATCHT(MINIMUM, &FOLLOW_MINIMUM_in_minExpr213);
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- MINIMUM15_tree =
- (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINIMUM15))
- ;
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, MINIMUM15_tree, root_0));
- }
-
- char_literal16 = (pANTLR3_COMMON_TOKEN) MATCHT(19, &FOLLOW_19_in_minExpr216);
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_maxExpr_in_minExpr219);
- maxExpr17=maxExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, maxExpr17.tree);
-
- // EquationSystem.g:26:33: ( ',' ! maxExpr )*
-
- for (;;)
- {
- int alt6=2;
- switch ( LA(1) )
- {
- case 21:
- {
- alt6=1;
- }
- break;
-
- }
-
- switch (alt6)
- {
- case 1:
- // EquationSystem.g:26:35: ',' ! maxExpr
- {
- char_literal18 = (pANTLR3_COMMON_TOKEN) MATCHT(21, &FOLLOW_21_in_minExpr223);
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_maxExpr_in_minExpr226);
- maxExpr19=maxExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, maxExpr19.tree);
-
- }
- break;
-
- default:
- goto loop6; /* break out of the loop */
- break;
- }
- }
- loop6: ; /* Jump out to here if this rule does not match */
-
-
- char_literal20 = (pANTLR3_COMMON_TOKEN) MATCHT(20, &FOLLOW_20_in_minExpr231);
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
- case 2:
- // EquationSystem.g:26:58: expr
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- FOLLOWPUSH(FOLLOW_expr_in_minExpr236);
- expr21=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expr21.tree);
-
- }
- break;
-
- }
- }
- }
-
- // This is where rules clean up and exit
- //
- goto ruleminExprEx; /* Prevent compiler warnings */
- ruleminExprEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end minExpr */
-
-/**
- * $ANTLR start expr
- * EquationSystem.g:28:1: expr : ( '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')' -> ^( GUARD expr expr expr ) | term ( ( PLUS | MULT | SUB | COMMA ) ^ expr )* );
- */
-static EquationSystemParser_expr_return
-expr(pEquationSystemParser ctx)
-{
- EquationSystemParser_expr_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN char_literal22;
- pANTLR3_COMMON_TOKEN GREATER_EQUAL24;
- pANTLR3_COMMON_TOKEN QUESTION_MARK26;
- pANTLR3_COMMON_TOKEN char_literal28;
- pANTLR3_COMMON_TOKEN set30;
- EquationSystemParser_expr_return expr23;
- #undef RETURN_TYPE_expr23
- #define RETURN_TYPE_expr23 EquationSystemParser_expr_return
-
- EquationSystemParser_expr_return expr25;
- #undef RETURN_TYPE_expr25
- #define RETURN_TYPE_expr25 EquationSystemParser_expr_return
-
- EquationSystemParser_expr_return expr27;
- #undef RETURN_TYPE_expr27
- #define RETURN_TYPE_expr27 EquationSystemParser_expr_return
-
- EquationSystemParser_term_return term29;
- #undef RETURN_TYPE_term29
- #define RETURN_TYPE_term29 EquationSystemParser_term_return
-
- EquationSystemParser_expr_return expr31;
- #undef RETURN_TYPE_expr31
- #define RETURN_TYPE_expr31 EquationSystemParser_expr_return
-
- pANTLR3_BASE_TREE char_literal22_tree;
- pANTLR3_BASE_TREE GREATER_EQUAL24_tree;
- pANTLR3_BASE_TREE QUESTION_MARK26_tree;
- pANTLR3_BASE_TREE char_literal28_tree;
- pANTLR3_BASE_TREE set30_tree;
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_20;
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_19;
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_GREATER_EQUAL;
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_QUESTION_MARK;
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_expr;
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- char_literal22 = NULL;
- GREATER_EQUAL24 = NULL;
- QUESTION_MARK26 = NULL;
- char_literal28 = NULL;
- set30 = NULL;
- expr23.tree = NULL;
-
- expr25.tree = NULL;
-
- expr27.tree = NULL;
-
- term29.tree = NULL;
-
- expr31.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- char_literal22_tree = NULL;
- GREATER_EQUAL24_tree = NULL;
- QUESTION_MARK26_tree = NULL;
- char_literal28_tree = NULL;
- set30_tree = NULL;
-
- stream_20 = NULL;
- #define CREATE_stream_20 if (stream_20 == NULL) {stream_20 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 20"); }
- stream_19 = NULL;
- #define CREATE_stream_19 if (stream_19 == NULL) {stream_19 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 19"); }
- stream_GREATER_EQUAL = NULL;
- #define CREATE_stream_GREATER_EQUAL if (stream_GREATER_EQUAL == NULL) {stream_GREATER_EQUAL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token GREATER_EQUAL"); }
- stream_QUESTION_MARK = NULL;
- #define CREATE_stream_QUESTION_MARK if (stream_QUESTION_MARK == NULL) {stream_QUESTION_MARK = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token QUESTION_MARK"); }
- stream_expr = NULL;
- #define CREATE_stream_expr if (stream_expr == NULL) {stream_expr = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule expr"); }
-
- retval.tree = NULL;
-
- {
- {
- // EquationSystem.g:28:6: ( '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')' -> ^( GUARD expr expr expr ) | term ( ( PLUS | MULT | SUB | COMMA ) ^ expr )* )
-
- ANTLR3_UINT32 alt9;
-
- alt9=2;
-
- switch ( LA(1) )
- {
- case 19:
- {
- {
- int LA9_1 = LA(2);
- if ( (synpred8_EquationSystem(ctx)))
- {
- alt9=1;
- }
- else if ( (ANTLR3_TRUE))
- {
- alt9=2;
- }
- else
- {
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 9;
- EXCEPTION->state = 1;
-
-
- goto ruleexprEx;
-
- }
- }
- }
- break;
- case NUMBER:
- case VARIABLE:
- {
- alt9=2;
- }
- break;
-
- default:
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 9;
- EXCEPTION->state = 0;
-
-
- goto ruleexprEx;
-
- }
-
- switch (alt9)
- {
- case 1:
- // EquationSystem.g:28:8: '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')'
- {
- char_literal22 = (pANTLR3_COMMON_TOKEN) MATCHT(19, &FOLLOW_19_in_expr245);
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_19; stream_19->add(stream_19, char_literal22, NULL); }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_expr247);
- expr23=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_expr; stream_expr->add(stream_expr, expr23.tree, NULL); }
-
- GREATER_EQUAL24 = (pANTLR3_COMMON_TOKEN) MATCHT(GREATER_EQUAL, &FOLLOW_GREATER_EQUAL_in_expr249);
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_GREATER_EQUAL; stream_GREATER_EQUAL->add(stream_GREATER_EQUAL, GREATER_EQUAL24, NULL); }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_expr251);
- expr25=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_expr; stream_expr->add(stream_expr, expr25.tree, NULL); }
-
- QUESTION_MARK26 = (pANTLR3_COMMON_TOKEN) MATCHT(QUESTION_MARK, &FOLLOW_QUESTION_MARK_in_expr253);
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_QUESTION_MARK; stream_QUESTION_MARK->add(stream_QUESTION_MARK, QUESTION_MARK26, NULL); }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_expr255);
- expr27=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_expr; stream_expr->add(stream_expr, expr27.tree, NULL); }
-
- char_literal28 = (pANTLR3_COMMON_TOKEN) MATCHT(20, &FOLLOW_20_in_expr257);
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_20; stream_20->add(stream_20, char_literal28, NULL); }
-
-
- /* AST REWRITE
- * elements : expr, expr, expr
- * token labels :
- * rule labels : retval
- * token list labels :
- * rule list labels :
- */
- if ( BACKTRACKING==0 )
-
- {
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
-
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
-
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
- retval.tree = root_0;
- // 28:59: -> ^( GUARD expr expr expr )
- {
- // EquationSystem.g:28:62: ^( GUARD expr expr expr )
- {
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR,
- (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, GUARD, (pANTLR3_UINT8)"GUARD")
- , root_1));
-
- ADAPTOR->addChild(ADAPTOR, root_1, stream_expr == NULL ? NULL : stream_expr->nextTree(stream_expr));
-
- ADAPTOR->addChild(ADAPTOR, root_1, stream_expr == NULL ? NULL : stream_expr->nextTree(stream_expr));
-
- ADAPTOR->addChild(ADAPTOR, root_1, stream_expr == NULL ? NULL : stream_expr->nextTree(stream_expr));
-
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0; // set result root
- if (stream_retval != NULL) stream_retval->free(stream_retval);
-
-
- }
- }
- break;
- case 2:
- // EquationSystem.g:29:8: term ( ( PLUS | MULT | SUB | COMMA ) ^ expr )*
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- FOLLOWPUSH(FOLLOW_term_in_expr278);
- term29=term(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, term29.tree);
-
- // EquationSystem.g:29:13: ( ( PLUS | MULT | SUB | COMMA ) ^ expr )*
-
- for (;;)
- {
- int alt8=2;
- switch ( LA(1) )
- {
- case COMMA:
- case MULT:
- case PLUS:
- case SUB:
- {
- {
- /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
- */
- int LA8_2 = LA(2);
- if ( (synpred12_EquationSystem(ctx)))
- {
- alt8=1;
- }
-
- }
- }
- break;
-
- }
-
- switch (alt8)
- {
- case 1:
- // EquationSystem.g:29:15: ( PLUS | MULT | SUB | COMMA ) ^ expr
- {
- set30=(pANTLR3_COMMON_TOKEN)LT(1);
-
- set30=(pANTLR3_COMMON_TOKEN)LT(1);
-
- if ( LA(1) == COMMA || LA(1) == MULT || LA(1) == PLUS || LA(1) == SUB )
- {
- CONSUME();
- if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR,
- (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set30))
- , root_0));
- PERRORRECOVERY=ANTLR3_FALSE;
- FAILEDFLAG=ANTLR3_FALSE;
-
- }
- else
- {
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
- EXCEPTION->expectingSet = NULL;
-
- goto ruleexprEx;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_expr299);
- expr31=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expr31.tree);
-
- }
- break;
-
- default:
- goto loop8; /* break out of the loop */
- break;
- }
- }
- loop8: ; /* Jump out to here if this rule does not match */
-
-
- }
- break;
-
- }
- }
- }
-
- // This is where rules clean up and exit
- //
- goto ruleexprEx; /* Prevent compiler warnings */
- ruleexprEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- if (stream_20 != NULL) stream_20->free(stream_20);
- if (stream_19 != NULL) stream_19->free(stream_19);
- if (stream_GREATER_EQUAL != NULL) stream_GREATER_EQUAL->free(stream_GREATER_EQUAL);
- if (stream_QUESTION_MARK != NULL) stream_QUESTION_MARK->free(stream_QUESTION_MARK);
- if (stream_expr != NULL) stream_expr->free(stream_expr);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end expr */
-
-/**
- * $ANTLR start term
- * EquationSystem.g:31:1: term : ( NUMBER | VARIABLE | '(' ! expr ')' !);
- */
-static EquationSystemParser_term_return
-term(pEquationSystemParser ctx)
-{
- EquationSystemParser_term_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN NUMBER32;
- pANTLR3_COMMON_TOKEN VARIABLE33;
- pANTLR3_COMMON_TOKEN char_literal34;
- pANTLR3_COMMON_TOKEN char_literal36;
- EquationSystemParser_expr_return expr35;
- #undef RETURN_TYPE_expr35
- #define RETURN_TYPE_expr35 EquationSystemParser_expr_return
-
- pANTLR3_BASE_TREE NUMBER32_tree;
- pANTLR3_BASE_TREE VARIABLE33_tree;
- pANTLR3_BASE_TREE char_literal34_tree;
- pANTLR3_BASE_TREE char_literal36_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- NUMBER32 = NULL;
- VARIABLE33 = NULL;
- char_literal34 = NULL;
- char_literal36 = NULL;
- expr35.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- NUMBER32_tree = NULL;
- VARIABLE33_tree = NULL;
- char_literal34_tree = NULL;
- char_literal36_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- {
- // EquationSystem.g:31:6: ( NUMBER | VARIABLE | '(' ! expr ')' !)
-
- ANTLR3_UINT32 alt10;
-
- alt10=3;
-
- switch ( LA(1) )
- {
- case NUMBER:
- {
- alt10=1;
- }
- break;
- case VARIABLE:
- {
- alt10=2;
- }
- break;
- case 19:
- {
- alt10=3;
- }
- break;
-
- default:
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 10;
- EXCEPTION->state = 0;
-
-
- goto ruletermEx;
-
- }
-
- switch (alt10)
- {
- case 1:
- // EquationSystem.g:31:8: NUMBER
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- NUMBER32 = (pANTLR3_COMMON_TOKEN) MATCHT(NUMBER, &FOLLOW_NUMBER_in_term311);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- NUMBER32_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NUMBER32));
- ADAPTOR->addChild(ADAPTOR, root_0, NUMBER32_tree);
- }
-
- }
- break;
- case 2:
- // EquationSystem.g:32:8: VARIABLE
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- VARIABLE33 = (pANTLR3_COMMON_TOKEN) MATCHT(VARIABLE, &FOLLOW_VARIABLE_in_term320);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- VARIABLE33_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARIABLE33));
- ADAPTOR->addChild(ADAPTOR, root_0, VARIABLE33_tree);
- }
-
- }
- break;
- case 3:
- // EquationSystem.g:33:8: '(' ! expr ')' !
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- char_literal34 = (pANTLR3_COMMON_TOKEN) MATCHT(19, &FOLLOW_19_in_term329);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_term332);
- expr35=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expr35.tree);
-
- char_literal36 = (pANTLR3_COMMON_TOKEN) MATCHT(20, &FOLLOW_20_in_term334);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
-
- }
- }
- }
-
- // This is where rules clean up and exit
- //
- goto ruletermEx; /* Prevent compiler warnings */
- ruletermEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end term */
-
-// $ANTLR start synpred8_EquationSystem
-static void synpred8_EquationSystem_fragment(pEquationSystemParser ctx )
-{
- // EquationSystem.g:28:8: ( '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')' )
- // EquationSystem.g:28:8: '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')'
- {
- MATCHT(19, &FOLLOW_19_in_synpred8_EquationSystem245);
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_synpred8_EquationSystem247);
- expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- MATCHT(GREATER_EQUAL, &FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249);
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_synpred8_EquationSystem251);
- expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- MATCHT(QUESTION_MARK, &FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253);
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_synpred8_EquationSystem255);
- expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- MATCHT(20, &FOLLOW_20_in_synpred8_EquationSystem257);
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- }
-
-// This is where rules clean up and exit
-//
-goto rulesynpred8_EquationSystemEx; /* Prevent compiler warnings */
-rulesynpred8_EquationSystemEx: ;
-
-}
-// $ANTLR end synpred8_EquationSystem
-
-// $ANTLR start synpred12_EquationSystem
-static void synpred12_EquationSystem_fragment(pEquationSystemParser ctx )
-{
- // EquationSystem.g:29:15: ( ( PLUS | MULT | SUB | COMMA ) expr )
- // EquationSystem.g:29:15: ( PLUS | MULT | SUB | COMMA ) expr
- {
- if ( LA(1) == COMMA || LA(1) == MULT || LA(1) == PLUS || LA(1) == SUB )
- {
- CONSUME();
- PERRORRECOVERY=ANTLR3_FALSE;
- FAILEDFLAG=ANTLR3_FALSE;
-
- }
- else
- {
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return ;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
- EXCEPTION->expectingSet = NULL;
-
- goto rulesynpred12_EquationSystemEx;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_synpred12_EquationSystem299);
- expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulesynpred12_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- }
-
-// This is where rules clean up and exit
-//
-goto rulesynpred12_EquationSystemEx; /* Prevent compiler warnings */
-rulesynpred12_EquationSystemEx: ;
-
-}
-// $ANTLR end synpred12_EquationSystem
-/* End of parsing rules
- * ==============================================
- */
-
-/* ==============================================
- * Syntactic predicates
- */
-static ANTLR3_BOOLEAN synpred12_EquationSystem(pEquationSystemParser ctx)
-{
- ANTLR3_MARKER start;
- ANTLR3_BOOLEAN success;
-
- BACKTRACKING++;
- start = MARK();
- synpred12_EquationSystem_fragment(ctx); // can never throw exception
- success = !(FAILEDFLAG);
- REWIND(start);
- BACKTRACKING--;
- FAILEDFLAG = ANTLR3_FALSE;
- return success;
-}
-static ANTLR3_BOOLEAN synpred8_EquationSystem(pEquationSystemParser ctx)
-{
- ANTLR3_MARKER start;
- ANTLR3_BOOLEAN success;
-
- BACKTRACKING++;
- start = MARK();
- synpred8_EquationSystem_fragment(ctx); // can never throw exception
- success = !(FAILEDFLAG);
- REWIND(start);
- BACKTRACKING--;
- FAILEDFLAG = ANTLR3_FALSE;
- return success;
-}
-
-/* End of syntactic predicates
- * ==============================================
- */
-
-
-
-
-
-
-/* End of code
- * =============================================================================
- */
diff --git a/impl/EquationSystemParser.h b/impl/EquationSystemParser.h
deleted file mode 100644
index 2efd482..0000000
--- a/impl/EquationSystemParser.h
+++ /dev/null
@@ -1,324 +0,0 @@
-/** \file
- * This C header file was generated by $ANTLR version 3.4
- *
- * - From the grammar source file : EquationSystem.g
- * - On : 2012-07-09 19:58:45
- * - for the parser : EquationSystemParserParser
- *
- * Editing it, at least manually, is not wise.
- *
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
- *
- *
- * The parser
-EquationSystemParser
-
-has the callable functions (rules) shown below,
- * which will invoke the code for the associated rule in the source grammar
- * assuming that the input stream is pointing to a token/text stream that could begin
- * this rule.
- *
- * For instance if you call the first (topmost) rule in a parser grammar, you will
- * get the results of a full parse, but calling a rule half way through the grammar will
- * allow you to pass part of a full token stream to the parser, such as for syntax checking
- * in editors and so on.
- *
- * The parser entry points are called indirectly (by function pointer to function) via
- * a parser context typedef pEquationSystemParser, which is returned from a call to EquationSystemParserNew().
- *
- * The methods in pEquationSystemParser are as follows:
- *
- * -
- EquationSystemParser_equation_system_return
- pEquationSystemParser->equation_system(pEquationSystemParser)
- * -
- EquationSystemParser_equation_return
- pEquationSystemParser->equation(pEquationSystemParser)
- * -
- EquationSystemParser_maxExpr_return
- pEquationSystemParser->maxExpr(pEquationSystemParser)
- * -
- EquationSystemParser_minExpr_return
- pEquationSystemParser->minExpr(pEquationSystemParser)
- * -
- EquationSystemParser_expr_return
- pEquationSystemParser->expr(pEquationSystemParser)
- * -
- EquationSystemParser_term_return
- pEquationSystemParser->term(pEquationSystemParser)
- *
- *
- *
- * The return type for any particular rule is of course determined by the source
- * grammar file.
- */
-// [The "BSD license"]
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
-// http://www.temporal-wave.com
-// http://www.linkedin.com/in/jimidle
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. 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.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-
-#ifndef _EquationSystemParser_H
-#define _EquationSystemParser_H
-/* =============================================================================
- * Standard antlr3 C runtime definitions
- */
-#include <antlr3.h>
-
-/* End of standard antlr 3 runtime definitions
- * =============================================================================
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Forward declare the context typedef so that we can use it before it is
-// properly defined. Delegators and delegates (from import statements) are
-// interdependent and their context structures contain pointers to each other
-// C only allows such things to be declared if you pre-declare the typedef.
-//
-typedef struct EquationSystemParser_Ctx_struct EquationSystemParser, * pEquationSystemParser;
-
-
-
-#ifdef ANTLR3_WINDOWS
-// Disable: Unreferenced parameter, - Rules with parameters that are not used
-// constant conditional, - ANTLR realizes that a prediction is always true (synpred usually)
-// initialized but unused variable - tree rewrite variables declared but not needed
-// Unreferenced local variable - lexer rule declares but does not always use _type
-// potentially unitialized variable used - retval always returned from a rule
-// unreferenced local function has been removed - susually getTokenNames or freeScope, they can go without warnigns
-//
-// These are only really displayed at warning level /W4 but that is the code ideal I am aiming at
-// and the codegen must generate some of these warnings by necessity, apart from 4100, which is
-// usually generated when a parser rule is given a parameter that it does not use. Mostly though
-// this is a matter of orthogonality hence I disable that one.
-//
-#pragma warning( disable : 4100 )
-#pragma warning( disable : 4101 )
-#pragma warning( disable : 4127 )
-#pragma warning( disable : 4189 )
-#pragma warning( disable : 4505 )
-#pragma warning( disable : 4701 )
-#endif
-
-/* ========================
- * BACKTRACKING IS ENABLED
- * ========================
- */
-
-typedef struct EquationSystemParser_equation_system_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_equation_system_return;
-
-
-
-typedef struct EquationSystemParser_equation_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_equation_return;
-
-
-
-typedef struct EquationSystemParser_maxExpr_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_maxExpr_return;
-
-
-
-typedef struct EquationSystemParser_minExpr_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_minExpr_return;
-
-
-
-typedef struct EquationSystemParser_expr_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_expr_return;
-
-
-
-typedef struct EquationSystemParser_term_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_term_return;
-
-
-
-
-/** Context tracking structure for
-EquationSystemParser
-
- */
-struct EquationSystemParser_Ctx_struct
-{
- /** Built in ANTLR3 context tracker contains all the generic elements
- * required for context tracking.
- */
- pANTLR3_PARSER pParser;
-
- EquationSystemParser_equation_system_return
- (*equation_system) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_equation_return
- (*equation) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_maxExpr_return
- (*maxExpr) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_minExpr_return
- (*minExpr) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_expr_return
- (*expr) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_term_return
- (*term) (struct EquationSystemParser_Ctx_struct * ctx);
-
- ANTLR3_BOOLEAN
- (*synpred8_EquationSystem) (struct EquationSystemParser_Ctx_struct * ctx);
-
- ANTLR3_BOOLEAN
- (*synpred12_EquationSystem) (struct EquationSystemParser_Ctx_struct * ctx);
- // Delegated rules
-
- const char * (*getGrammarFileName)();
- void (*reset) (struct EquationSystemParser_Ctx_struct * ctx);
- void (*free) (struct EquationSystemParser_Ctx_struct * ctx);
-/* @headerFile.members() */
-pANTLR3_BASE_TREE_ADAPTOR adaptor;
-pANTLR3_VECTOR_FACTORY vectors;
-/* End @headerFile.members() */
-};
-
-// Function protoypes for the constructor functions that external translation units
-// such as delegators and delegates may wish to call.
-//
-ANTLR3_API pEquationSystemParser EquationSystemParserNew (
-pANTLR3_COMMON_TOKEN_STREAM
- instream);
-ANTLR3_API pEquationSystemParser EquationSystemParserNewSSD (
-pANTLR3_COMMON_TOKEN_STREAM
- instream, pANTLR3_RECOGNIZER_SHARED_STATE state);
-
-/** Symbolic definitions of all the tokens that the
-parser
- will work with.
- * \{
- *
- * Antlr will define EOF, but we can't use that as it it is too common in
- * in C header files and that would be confusing. There is no way to filter this out at the moment
- * so we just undef it here for now. That isn't the value we get back from C recognizers
- * anyway. We are looking for ANTLR3_TOKEN_EOF.
- */
-#ifdef EOF
-#undef EOF
-#endif
-#ifdef Tokens
-#undef Tokens
-#endif
-#define EOF -1
-#define T__19 19
-#define T__20 20
-#define T__21 21
-#define T__22 22
-#define COMMA 4
-#define DIGIT 5
-#define GREATER_EQUAL 6
-#define GUARD 7
-#define LETTER 8
-#define MAXIMUM 9
-#define MINIMUM 10
-#define MULT 11
-#define NEWLINE 12
-#define NUMBER 13
-#define PLUS 14
-#define QUESTION_MARK 15
-#define SUB 16
-#define VARIABLE 17
-#define WHITESPACE 18
-#ifdef EOF
-#undef EOF
-#define EOF ANTLR3_TOKEN_EOF
-#endif
-
-#ifndef TOKENSOURCE
-#define TOKENSOURCE(lxr) lxr->pLexer->rec->state->tokSource
-#endif
-
-/* End of token definitions for EquationSystemParser
- * =============================================================================
- */
-/** } */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* END - Note:Keep extra line feed to satisfy UNIX systems */
diff --git a/impl/EquationSystemParser.o b/impl/EquationSystemParser.o
deleted file mode 100644
index cf6da29..0000000
--- a/impl/EquationSystemParser.o
+++ /dev/null
Binary files differ
diff --git a/impl/Expression.hpp b/impl/Expression.hpp
index 63f732d..eedaa52 100644
--- a/impl/Expression.hpp
+++ b/impl/Expression.hpp
@@ -45,7 +45,7 @@ struct Constant : public Expression<Domain> {
}
void print(std::ostream& cout) const {
- cout << _value << "!c";
+ cout << _value;
}
private:
@@ -69,7 +69,7 @@ struct Variable : public Expression<Domain> {
}
void print(std::ostream& cout) const {
- cout << _name << "!v";
+ cout << _name;
}
private:
diff --git a/impl/FixpointAlgorithm.hpp b/impl/FixpointAlgorithm.hpp
deleted file mode 100644
index bb08e72..0000000
--- a/impl/FixpointAlgorithm.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-#ifndef FIXPOINT_ALGORITHM_HPP
-#define FIXPOINT_ALGORITHM_HPP
-
-#include "IdSet.hpp"
-#include "IdMap.hpp"
-#include "VariableAssignment.hpp"
-#include "EquationSystem.hpp"
-#include "MaxStrategy.hpp"
-
-template<typename Domain>
-struct FixpointAlgorithm {
- virtual ~FixpointAlgorithm() { }
- virtual void maxFixpoint(
- const EquationSystem<Domain>& system,
- const MaxStrategy<Domain>& strat,
- StableVariableAssignment<Domain>& rho,
- IdSet<Variable<Domain> >& changedIn,
- IdSet<Variable<Domain> >& changedOut
- ) = 0;
-};
-
-template<typename Domain>
-struct NaiveFixpointAlgorithm : public FixpointAlgorithm<Domain> {
- NaiveFixpointAlgorithm(const EquationSystem<Domain>& system)
- : _system(system) { }
- virtual void maxFixpoint(
- const EquationSystem<Domain>& system,
- const MaxStrategy<Domain>& strat,
- StableVariableAssignment<Domain>& rhoOut,
- IdSet<Variable<Domain> >&,
- IdSet<Variable<Domain> >&
- ) {
- VariableAssignment<Domain>* rho = NULL;
- VariableAssignment<Domain>* result = system.assignment(infinity<Domain>());
- do {
- delete rho;
- rho = result;
- result = _system.eval(*rho, strat);
- } while (!_system.equalAssignments(*rho, *result));
- delete rho;
-
- for (unsigned int i = 0, length = system.variableCount(); i < length; ++i) {
- Variable<Domain> var = system.variable(i);
- rhoOut[var] = (*result)[var];
- }
- }
- private:
- const EquationSystem<Domain>& _system;
-};
-
-template<typename Domain>
-struct SmartFixpointAlgorithm : public FixpointAlgorithm<Domain> {
- SmartFixpointAlgorithm(const EquationSystem<Domain>& system)
- : _system(system),
- _influence(system.variableCount(), IdSet<Variable<Domain> >(system.variableCount())){
- }
-
- struct DynamicVariableAssignment : public VariableAssignment<Domain> {
- DynamicVariableAssignment(
- const EquationSystem<Domain>& system,
- const MaxStrategy<Domain>& strat,
- IdMap<Variable<Domain>,IdSet<Variable<Domain> > >& influence,
- StableVariableAssignment<Domain>& rho,
- IdSet<Variable<Domain> >& stable,
- IdSet<Variable<Domain> >& changed
- ) : _system(system),
- _strategy(strat),
- _values(rho),
- _stable(stable),
- _changed(changed),
- _influence(influence) { }
-
- const Domain& operator[](const Variable<Domain>& var) const {
- solve(var);
- return _values[var];
- }
-
- private:
-
- void solve(const Variable<Domain>& x) const {
- if (!_stable.contains(x)) {
- _stable.insert(x);
-
- Domain val = _system[x]->eval(DependencyAssignment(*this, x), _strategy);
-
- if (val != _values[x]) {
- IdSet<Variable<Domain> > oldInfluence = _influence[x];
- _influence[x].clear();
- _values[x] = val;
- _changed.insert(x);
-
- _stable.filter(oldInfluence);
-
- for (typename IdSet<Variable<Domain> >::iterator it = oldInfluence.begin();
- it != oldInfluence.end();
- ++it) {
- solve(_system.variable(*it));
- }
- _influence[x] = oldInfluence;
- }
- }
- }
-
- struct DependencyAssignment : public VariableAssignment<Domain> {
- DependencyAssignment(const DynamicVariableAssignment& assignment, const Variable<Domain>& var)
- : _assignment(assignment), _var(var) { }
- const Domain& operator[](const Variable<Domain>& x) const {
- const Domain& result = _assignment[x];
- _assignment._influence[x].insert(_var);
- return result;
- }
- private:
- const DynamicVariableAssignment& _assignment;
- const Variable<Domain>& _var;
- };
-
- const EquationSystem<Domain>& _system;
- const MaxStrategy<Domain>& _strategy;
- StableVariableAssignment<Domain>& _values;
- IdSet<Variable<Domain> >& _stable;
- IdSet<Variable<Domain> >& _changed;
- IdMap<Variable<Domain>,IdSet<Variable<Domain> > >& _influence;
- };
-
- void invalidate(const IdSet<Variable<Domain> >& set, IdSet<Variable<Domain> >& changed, StableVariableAssignment<Domain>& rho) const {
- for (typename IdSet<Variable<Domain> >::iterator it = set.begin(),
- end = set.end();
- it != end;
- ++it) {
- Variable<Domain>& var = _system.variable(*it);
- if (!changed.contains(var)) {
- rho[var] = infinity<Domain>();
- changed.insert(var);
- invalidate(_influence[var], changed, rho);
- }
- }
- }
-
- virtual void maxFixpoint(
- const EquationSystem<Domain>& system,
- const MaxStrategy<Domain>& strat,
- StableVariableAssignment<Domain>& rhoOut,
- IdSet<Variable<Domain> >& changedIn,
- IdSet<Variable<Domain> >& changedOut
- ) {
- for (typename IdSet<Variable<Domain> >::iterator it = changedIn.begin(),
- end = changedIn.end();
- it != end;
- ++it) {
- //std::cout << *it << " ";
- Variable<Domain>& var = _system.variable(*it);
- rhoOut[var] = infinity<Domain>();
- invalidate(_influence[var], changedIn, rhoOut);
- }
-
- changedIn.invert();
- DynamicVariableAssignment rho(system, strat, _influence, rhoOut, changedIn, changedOut);
- for (unsigned int i = 0, length = system.variableCount(); i < length; ++i) {
- rho[system.variable(i)];
- }
- /*std::cout << _influence << std::endl;
- std::cout << std::endl;*/
- }
- private:
- const EquationSystem<Domain>& _system;
- IdMap<Variable<Domain>,IdSet<Variable<Domain> > > _influence;
-};
-
-#endif
diff --git a/impl/ImprovementOperator.hpp b/impl/ImprovementOperator.hpp
index 78c9ac5..a435b6e 100644
--- a/impl/ImprovementOperator.hpp
+++ b/impl/ImprovementOperator.hpp
@@ -68,121 +68,4 @@ struct RepeatedImprovementOperator : public ImprovementOperator<Domain> {
const ImprovementOperator<Domain>& _subImprovement;
};
-
-
-#include "VariableAssignment.hpp"
-
-template<typename Domain>
-struct DynamicMaxStrategy : public MaxStrategy<Domain> {
- DynamicMaxStrategy(
- const EquationSystem<Domain>& system
- ) : _system(system),
- _rho(NULL),
- _values(system),
- _stable(system.maxExpressionCount()),
- _influence(system.maxExpressionCount(),
- IdSet<MaxExpression<Domain>>(system.maxExpressionCount())),
- _var_influence(system.variableCount(),
- IdSet<MaxExpression<Domain>>(system.maxExpressionCount()))
- {}
-
- void setRho(DynamicVariableAssignment<Domain>& rho) {
- _rho = &rho;
- }
-
- unsigned int get(const MaxExpression<Domain>& e) const {
- solve(e);
- return _values.get(e);
- }
-
- void invalidate(const Variable<Domain>& v) const {
- log::strategy << "invalidating " << v << " - " << *_system[v] << std::endl;
- log::strategy << "\t" << _var_influence[v] << std::endl;
- _stable.filter(_var_influence[v]);
-
- for (auto it = _var_influence[v].begin();
- it != _var_influence[v].end();
- ++it) {
- solve(_system.maxExpression(*it));
- }
- }
-
-private:
- void solve(const MaxExpression<Domain>& x) const {
- if (!_stable.contains(x)) {
- _stable.insert(x);
-
- unsigned int val = x.bestStrategy(DependencyAssignment(*this, *_rho, x),
- DependencyStrategy(*this, x));
-
- if (val != _values.get(x)) {
- log::strategy << "Updating strategy for " << x
- << " to " << val << std::endl;
-
- auto oldInfluence = _influence[x];
- _influence[x].clear();
- _values.set(x, val);
-
- _rho->invalidate(*_system.varFromExpr(x));
-
- _stable.filter(oldInfluence);
-
- for (auto it = oldInfluence.begin();
- it != oldInfluence.end();
- ++it) {
- solve(_system.maxExpression(*it));
- }
- } else {
- log::strategy << x << " did not change" << std::endl;
- }
- } else {
- log::strategy << x << " is stable" << std::endl;
- }
- }
-
- struct DependencyAssignment : public VariableAssignment<Domain>{
- DependencyAssignment(const DynamicMaxStrategy& strat,
- VariableAssignment<Domain>& rho,
- const MaxExpression<Domain>& expr)
- : _strat(strat),
- _rho(rho),
- _expr(expr) {
- }
- const Domain& operator[](const Variable<Domain>& var) const {
- _strat._var_influence[var].insert(_expr);
- return _rho[var];
- }
- private:
- const DynamicMaxStrategy& _strat;
- VariableAssignment<Domain>& _rho;
- const MaxExpression<Domain>& _expr;
- };
-
- struct DependencyStrategy : public MaxStrategy<Domain> {
- DependencyStrategy(const DynamicMaxStrategy& strat, const MaxExpression<Domain>& expr)
- : _strat(strat),
- _expr(expr) {
- }
- unsigned int get(const MaxExpression<Domain>& e) const {
- _strat.solve(e);
- if (&_expr != &e) {
- _strat._influence[e].insert(_expr);
- }
- return _strat._values.get(e);
- }
- private:
- const DynamicMaxStrategy& _strat;
- const MaxExpression<Domain>& _expr;
- };
-
-private:
- const EquationSystem<Domain>& _system;
- mutable DynamicVariableAssignment<Domain>* _rho;
- mutable ConcreteMaxStrategy<Domain> _values;
- mutable IdSet<MaxExpression<Domain>> _stable;
- mutable IdMap<MaxExpression<Domain>,IdSet<MaxExpression<Domain>>> _influence;
- mutable IdMap<Variable<Domain>,IdSet<MaxExpression<Domain>>> _var_influence;
-};
-
-
#endif
diff --git a/impl/MaxStrategy.hpp b/impl/MaxStrategy.hpp
index 21a6420..8f40c99 100644
--- a/impl/MaxStrategy.hpp
+++ b/impl/MaxStrategy.hpp
@@ -12,42 +12,126 @@ struct MaxStrategy {
virtual unsigned int get(const MaxExpression<Domain>& e) const = 0;
};
+#include "VariableAssignment.hpp"
+
+template<typename Domain>
+struct DynamicVariableAssignment;
+
template<typename Domain>
-struct ConcreteMaxStrategy : public MaxStrategy<Domain> {
- ConcreteMaxStrategy(const EquationSystem<Domain>& system)
- : _system(system),
- _strategy(system.maxExpressionCount(), 0) {
+struct DynamicMaxStrategy : public MaxStrategy<Domain> {
+ DynamicMaxStrategy(
+ const EquationSystem<Domain>& system
+ ) : _system(system),
+ _rho(NULL),
+ _values(system.maxExpressionCount(), 0),
+ _stable(system.maxExpressionCount()),
+ _influence(system.maxExpressionCount(),
+ IdSet<MaxExpression<Domain>>(system.maxExpressionCount())),
+ _var_influence(system.variableCount(),
+ IdSet<MaxExpression<Domain>>(system.maxExpressionCount()))
+ {}
+
+ void setRho(DynamicVariableAssignment<Domain>& rho) {
+ _rho = &rho;
}
unsigned int get(const MaxExpression<Domain>& e) const {
- return _strategy[e];
+ solve(e);
+ return _values[e];
}
- unsigned int set(const MaxExpression<Domain>& e, unsigned int i) {
- _strategy[e] = i;
- return i;
+
+ void invalidate(const Variable<Domain>& v) const {
+ log::strategy << "\tInvalidating " << v << " - " << *_system[v] << std::endl;
+ _stable.filter(_var_influence[v]);
+
+ for (auto it = _var_influence[v].begin();
+ it != _var_influence[v].end();
+ ++it) {
+ solve(_system.maxExpression(*it));
+ }
}
- void print(std::ostream& cout) const {
- for (unsigned int i = 0, length = _system.maxExpressionCount();
- i < length;
- ++i) {
- auto expr = _system.maxExpression(i);
- unsigned int subExpression = get(expr);
- cout << expr
- << " --[" << subExpression << "]-> "
- << *expr.arguments()[subExpression] << std::endl;
+private:
+ void solve(const MaxExpression<Domain>& x) const {
+ if (!_stable.contains(x)) {
+ _stable.insert(x);
+ log::strategy << "\tStabilise " << x << std::endl;
+
+ unsigned int val = x.bestStrategy(DependencyAssignment(*this, *_rho, x),
+ DependencyStrategy(*this, x));
+
+ if (val != _values[x]) {
+ log::strategy << x << " => " << *x.arguments()[val] << std::endl;
+
+ auto oldInfluence = _influence[x];
+ _influence[x].clear();
+ _values[x] = val;
+
+ _rho->invalidate(*_system.varFromExpr(x));
+
+ _stable.filter(oldInfluence);
+
+ for (auto it = oldInfluence.begin();
+ it != oldInfluence.end();
+ ++it) {
+ solve(_system.maxExpression(*it));
+ }
+ } else {
+ log::strategy << "\t" << x << " did not change" << std::endl;
+ }
+ } else {
+ log::strategy << "\t" << x << " is stable" << std::endl;
}
}
+ struct DependencyAssignment : public VariableAssignment<Domain>{
+ DependencyAssignment(const DynamicMaxStrategy& strat,
+ VariableAssignment<Domain>& rho,
+ const MaxExpression<Domain>& expr)
+ : _strat(strat),
+ _rho(rho),
+ _expr(expr) {
+ }
+ const Domain& operator[](const Variable<Domain>& var) const {
+ _strat._var_influence[var].insert(_expr);
+ return _rho[var];
+ }
+ private:
+ const DynamicMaxStrategy& _strat;
+ VariableAssignment<Domain>& _rho;
+ const MaxExpression<Domain>& _expr;
+ };
+
+ struct DependencyStrategy : public MaxStrategy<Domain> {
+ DependencyStrategy(const DynamicMaxStrategy& strat, const MaxExpression<Domain>& expr)
+ : _strat(strat),
+ _expr(expr) {
+ }
+ unsigned int get(const MaxExpression<Domain>& e) const {
+ _strat.solve(e);
+ if (&_expr != &e) {
+ _strat._influence[e].insert(_expr);
+ }
+ return _strat._values[e];
+ }
private:
+ const DynamicMaxStrategy& _strat;
+ const MaxExpression<Domain>& _expr;
+ };
+
+private:
const EquationSystem<Domain>& _system;
- IdMap<MaxExpression<Domain>,unsigned int> _strategy;
+ mutable DynamicVariableAssignment<Domain>* _rho;
+ mutable IdMap<MaxExpression<Domain>,unsigned int> _values;
+ mutable IdSet<MaxExpression<Domain>> _stable;
+ mutable IdMap<MaxExpression<Domain>,IdSet<MaxExpression<Domain>>> _influence;
+ mutable IdMap<Variable<Domain>,IdSet<MaxExpression<Domain>>> _var_influence;
};
-template<typename Domain>
-std::ostream& operator<<(std::ostream& cout, const ConcreteMaxStrategy<Domain>& strat) {
+/*template<typename Domain>
+std::ostream& operator<<(std::ostream& cout, const MaxStrategy<Domain>& strat) {
strat.print(cout);
return cout;
-}
+}*/
#endif
diff --git a/impl/VariableAssignment.hpp b/impl/VariableAssignment.hpp
index f41dab3..ead7c67 100644
--- a/impl/VariableAssignment.hpp
+++ b/impl/VariableAssignment.hpp
@@ -10,22 +10,6 @@ struct VariableAssignment {
virtual const Domain& operator[](const Variable<Domain>&) const = 0;
};
-template<typename Domain>
-struct StableVariableAssignment
-: public VariableAssignment<Domain>, public IdMap<Variable<Domain>, Domain> {
- StableVariableAssignment(unsigned int length)
- : IdMap<Variable<Domain>,Domain>(length, -infinity<Domain>()) { }
- StableVariableAssignment(unsigned int length, const Domain& value)
- : IdMap<Variable<Domain>,Domain>(length, value) { }
-
- const Domain& operator[](const Variable<Domain>& var) const {
- return IdMap<Variable<Domain>,Domain>::operator[](var);
- }
- Domain& operator[](const Variable<Domain>& var) {
- return IdMap<Variable<Domain>,Domain>::operator[](var);
- }
-};
-
#include "EquationSystem.hpp"
template<typename Domain>
@@ -50,7 +34,7 @@ struct DynamicVariableAssignment : public VariableAssignment<Domain> {
}
void invalidate(const Variable<Domain>& x) const {
- log::fixpoint << "invalidating " << x << std::endl;
+ log::fixpoint << "\tInvalidating " << x << std::endl;
_stable.remove(x);
_values[x] = infinity<Domain>();
}
@@ -58,53 +42,53 @@ struct DynamicVariableAssignment : public VariableAssignment<Domain> {
private:
void solve(const Variable<Domain>& x) const {
- if (!_stable.contains(x)) {
- _stable.insert(x);
-
- Domain val = _system[x]->eval(DependencyAssignment(*this, x),
- _strategy);
-
- if (val != _values[x]) {
- log::fixpoint << "Updating value for " << x
- << " to " << val << std::endl;
-
- auto oldInfluence = _influence[x];
- _influence[x].clear();
- _values[x] = val;
-
- _strategy.invalidate(x);
-
- _stable.filter(oldInfluence);
-
- for (auto it = oldInfluence.begin();
- it != oldInfluence.end();
- ++it) {
- solve(_system.variable(*it));
- }
- } else {
- log::fixpoint << x << " did not change" << std::endl;
+ if (!_stable.contains(x)) {
+ _stable.insert(x);
+ log::fixpoint << "\tStabilise " << x << std::endl;
+
+ Domain val = _system[x]->eval(DependencyAssignment(*this, x),
+ _strategy);
+
+ if (val != _values[x]) {
+ log::fixpoint << x << " = " << val << std::endl;
+
+ auto oldInfluence = _influence[x];
+ _influence[x].clear();
+ _values[x] = val;
+
+ _strategy.invalidate(x);
+
+ _stable.filter(oldInfluence);
+
+ for (auto it = oldInfluence.begin();
+ it != oldInfluence.end();
+ ++it) {
+ solve(_system.variable(*it));
}
} else {
- log::fixpoint << x << " is stable" << std::endl;
+ log::fixpoint << "\t" << x << " did not change" << std::endl;
}
+ } else {
+ log::fixpoint << "\t" << x << " is stable" << std::endl;
}
+ }
+
+ struct DependencyAssignment : public VariableAssignment<Domain> {
+ DependencyAssignment(const DynamicVariableAssignment& assignment, const Variable<Domain>& var)
+ : _assignment(assignment), _var(var) { }
+ const Domain& operator[](const Variable<Domain>& x) const {
+ const Domain& result = _assignment[x];
+ _assignment._influence[x].insert(_var);
+ return result;
+ }
+ private:
+ const DynamicVariableAssignment& _assignment;
+ const Variable<Domain>& _var;
+ };
- struct DependencyAssignment : public VariableAssignment<Domain> {
- DependencyAssignment(const DynamicVariableAssignment& assignment, const Variable<Domain>& var)
- : _assignment(assignment), _var(var) { }
- const Domain& operator[](const Variable<Domain>& x) const {
- const Domain& result = _assignment[x];
- _assignment._influence[x].insert(_var);
- return result;
- }
- private:
- const DynamicVariableAssignment& _assignment;
- const Variable<Domain>& _var;
- };
-
const EquationSystem<Domain>& _system;
const DynamicMaxStrategy<Domain>& _strategy;
- mutable StableVariableAssignment<Domain> _values;
+ mutable IdMap<Variable<Domain>, Domain> _values;
mutable IdSet<Variable<Domain> > _stable;
mutable IdMap<Variable<Domain>,IdSet<Variable<Domain> > > _influence;
};
diff --git a/impl/main.cpp b/impl/main.cpp
index 374d21f..6a786bd 100644
--- a/impl/main.cpp
+++ b/impl/main.cpp
@@ -7,8 +7,6 @@
#include "Operator.hpp"
#include "EquationSystem.hpp"
#include "MaxStrategy.hpp"
-#include "ImprovementOperator.hpp"
-#include "FixpointAlgorithm.hpp"
extern "C" {
#include "parser/EquationSystemParser.h"
@@ -38,7 +36,7 @@ Expression<T>& treeToExpression(pANTLR3_BASE_TREE node, EquationSystem<T>& syste
}
// anything that's not a constant/variable
- std::vector<Expression<T>*> args;
+ vector<Expression<T>*> args;
pANTLR3_BASE_TREE childNode;
for (unsigned int i = 0; i < num; ++i) {
childNode = (pANTLR3_BASE_TREE) node->getChild(node, i);
@@ -97,14 +95,6 @@ void treeToSystem(pANTLR3_BASE_TREE node, EquationSystem<T>& system) {
typedef Complete<int> ZBar;
int main (int argc, char* argv[]) {
- if (argc <= 3) {
- cerr << "Usage: " << argv[0] << " filename fixpoint strategy [log]" << endl
- << " fixpoint: naive | smart" << endl
- << " strategy: naive | repeat | smart" << endl
- << " log: section[,section[,section[...]]]" << endl;
- exit(1);
- }
-
map<string,log::Logger*> loggers;
loggers["info"] = &log::info;
loggers["trace"] = &log::trace;
@@ -112,13 +102,25 @@ int main (int argc, char* argv[]) {
loggers["fixpoint"] = &log::fixpoint;
loggers["debug"] = &log::debug;
- if (argc > 3) {
- char* arg = argv[4];
- char* str = strtok(arg, ",");
- do {
- if (str && loggers[str])
- loggers[str]->enabled(true);
- } while ((str = strtok(NULL, ",")) != NULL);
+ set<string> variables;
+ if (argc > 2) {
+ int i = 2;
+ while (argv[i] != NULL) {
+ if (string(argv[i]) == "-v") {
+ ++i;
+ if (i < argc) {
+ char* arg = argv[i];
+ char* str = strtok(arg, ",");
+ do {
+ if (str && loggers[str])
+ loggers[str]->enabled(true);
+ } while ((str = strtok(NULL, ",")) != NULL);
+ }
+ } else {
+ variables.insert(argv[i]);
+ }
+ ++i;
+ }
}
auto input = antlr3FileStreamNew((pANTLR3_UINT8)argv[1], ANTLR3_ENC_8BIT);
@@ -131,67 +133,24 @@ int main (int argc, char* argv[]) {
EquationSystem<ZBar> system;
treeToSystem<ZBar>(ret.tree, system);
- /*
- // PARSE ARGUMENTS - fixpoint
- FixpointAlgorithm<ZBar>* algorithm = NULL;
- if (!strcmp(argv[2], "naive")) {
- algorithm = new NaiveFixpointAlgorithm<ZBar>(system);
- log::info << "Naive fixpoint" << endl;
- } else if (!strcmp(argv[2], "smart")) {
- algorithm = new SmartFixpointAlgorithm<ZBar>(system);
- log::info << "Smart fixpoint" << endl;
- } else {
- cerr << "Unknown fixpoint algorithm." << endl;
- }
-
- // PARSE ARGUMENTS - strat improvement
- ImprovementOperator<ZBar>* naiveImprovement = new NaiveImprovementOperator<ZBar>();
- ImprovementOperator<ZBar>* improvement = NULL;
- if (!strcmp(argv[3], "repeat")) {
- improvement = new RepeatedImprovementOperator<ZBar>(*naiveImprovement);
- log::info << "Repeated strategy improvement" << endl;
- } else if (!strcmp(argv[3], "naive")) {
- improvement = naiveImprovement;
- log::info << "Naive strategy improvement" << endl;
- } else if (!strcmp(argv[3], "smart")) {
- improvement = new SmartImprovementOperator<ZBar>(system);
- log::info << "Smart strategy improvement" << endl;
- } else {
- cerr << "Unknown strategy improvement algorithm." << endl;
- }
- if (!improvement || !algorithm) {
- exit(1);
- }
- */
-
- log::debug << system << std::endl;
+ log::debug << system << endl;
system.indexMaxExpressions(); // make reverse-lookup O(1) instead of O(n)
- /*StableVariableAssignment<ZBar> result(system.variableCount(), infinity<ZBar>());
- ConcreteMaxStrategy<ZBar> strategy(system);
- IdSet<Variable<ZBar>> s1(system.variableCount());
- IdSet<Variable<ZBar>> s2(system.variableCount());
- bool changed = false;
- s2.clear();
- s2.invert();
- do {
- s1.clear();
- algorithm->maxFixpoint(system, strategy, result, s2, s1);
-
- log::debug << result << std::endl;
-
- s2.clear();
- changed = improvement->improve(system, strategy, result, s1, s2);
- log::debug << "Changed: " << (changed ? "true" : "false") << std::endl;
- } while(changed);*/
-
-
- DynamicMaxStrategy<ZBar> strategy(system);
- DynamicVariableAssignment<ZBar> rho(system, strategy);
+
+ DynamicMaxStrategy<ZBar> strategy(system);
+ DynamicVariableAssignment<ZBar> rho(system, strategy);
strategy.setRho(rho);
- for (unsigned int i = 0, size = system.variableCount(); i < size; ++i) {
- Variable<ZBar>& var = system.variable(i);
- cout << var.name() << " = " << rho[var] << endl;
+ if (variables.size() > 0) {
+ for (unsigned int i = 0, size = system.variableCount(); i < size; ++i) {
+ Variable<ZBar>& var = system.variable(i);
+ if (variables.find(var.name()) != variables.end())
+ cout << var.name() << " = " << rho[var] << endl;
+ }
+ } else {
+ for (unsigned int i = 0, size = system.variableCount(); i < size; ++i) {
+ Variable<ZBar>& var = system.variable(i);
+ cout << var.name() << " = " << rho[var] << endl;
+ }
}
parser -> free(parser);
diff --git a/impl/parser/EquationSystem.tokens b/impl/parser/EquationSystem.tokens
deleted file mode 100644
index c706036..0000000
--- a/impl/parser/EquationSystem.tokens
+++ /dev/null
@@ -1,33 +0,0 @@
-T__19=19
-T__20=20
-T__21=21
-T__22=22
-COMMA=4
-DIGIT=5
-GREATER_EQUAL=6
-GUARD=7
-LETTER=8
-MAXIMUM=9
-MINIMUM=10
-MULT=11
-NEWLINE=12
-NUMBER=13
-PLUS=14
-QUESTION_MARK=15
-SUB=16
-VARIABLE=17
-WHITESPACE=18
-'('=19
-')'=20
-'*'=11
-'+'=14
-','=21
-'-'=16
-';'=4
-'='=22
-'>='=6
-'?'=15
-'\n'=12
-'guard'=7
-'max'=9
-'min'=10
diff --git a/impl/parser/EquationSystemLexer.c b/impl/parser/EquationSystemLexer.c
deleted file mode 100644
index dc8b451..0000000
--- a/impl/parser/EquationSystemLexer.c
+++ /dev/null
@@ -1,2087 +0,0 @@
-/** \file
- * This C source file was generated by $ANTLR version 3.4
- *
- * - From the grammar source file : EquationSystem.g
- * - On : 2012-07-12 15:47:53
- * - for the lexer : EquationSystemLexerLexer
- *
- * Editing it, at least manually, is not wise.
- *
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
- *
- *
-*/
-// [The "BSD license"]
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
-// http://www.temporal-wave.com
-// http://www.linkedin.com/in/jimidle
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. 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.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-
-/* -----------------------------------------
- * Include the ANTLR3 generated header file.
- */
-#include "EquationSystemLexer.h"
-/* ----------------------------------------- */
-
-
-/** String literals used by EquationSystemLexer that we must do things like MATCHS() with.
- * C will normally just lay down 8 bit characters, and you can use L"xxx" to
- * get wchar_t, but wchar_t is 16 bits on Windows, which is not UTF32 and so
- * we perform this little trick of defining the literals as arrays of UINT32
- * and passing in the address of these.
- */
-static ANTLR3_UCHAR lit_1[] = { 0x3E, 0x3D, ANTLR3_STRING_TERMINATOR};
-static ANTLR3_UCHAR lit_2[] = { 0x67, 0x75, 0x61, 0x72, 0x64, ANTLR3_STRING_TERMINATOR};
-static ANTLR3_UCHAR lit_3[] = { 0x6D, 0x61, 0x78, ANTLR3_STRING_TERMINATOR};
-static ANTLR3_UCHAR lit_4[] = { 0x6D, 0x69, 0x6E, ANTLR3_STRING_TERMINATOR};
-
-
-
-
-
-/* MACROS that hide the C interface implementations from the
- * generated code, which makes it a little more understandable to the human eye.
- * I am very much against using C pre-processor macros for function calls and bits
- * of code as you cannot see what is happening when single stepping in debuggers
- * and so on. The exception (in my book at least) is for generated code, where you are
- * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()
- * hides some indirect calls, but is always referring to the input stream. This is
- * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig
- * the runtime interfaces without changing the generated code too often, without
- * confusing the reader of the generated output, who may not wish to know the gory
- * details of the interface inheritance.
- */
-
-#define CTX ctx
-
-/* Aids in accessing scopes for grammar programmers
- */
-#undef SCOPE_TYPE
-#undef SCOPE_STACK
-#undef SCOPE_TOP
-#define SCOPE_TYPE(scope) pEquationSystemLexer_##scope##_SCOPE
-#define SCOPE_STACK(scope) pEquationSystemLexer_##scope##Stack
-#define SCOPE_TOP(scope) ctx->pEquationSystemLexer_##scope##Top
-#define SCOPE_SIZE(scope) ctx->pEquationSystemLexer_##scope##Stack_limit
-#define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))
-
-
-/* Macros for accessing things in a lexer
- */
-#undef LEXER
-#undef RECOGNIZER
-#undef RULEMEMO
-#undef GETCHARINDEX
-#undef GETLINE
-#undef GETCHARPOSITIONINLINE
-#undef EMIT
-#undef EMITNEW
-#undef MATCHC
-#undef MATCHS
-#undef MATCHRANGE
-#undef LTOKEN
-#undef HASFAILED
-#undef FAILEDFLAG
-#undef INPUT
-#undef STRSTREAM
-#undef LA
-#undef HASEXCEPTION
-#undef EXCEPTION
-#undef CONSTRUCTEX
-#undef CONSUME
-#undef LRECOVER
-#undef MARK
-#undef REWIND
-#undef REWINDLAST
-#undef BACKTRACKING
-#undef MATCHANY
-#undef MEMOIZE
-#undef HAVEPARSEDRULE
-#undef GETTEXT
-#undef INDEX
-#undef SEEK
-#undef PUSHSTREAM
-#undef POPSTREAM
-#undef SETTEXT
-#undef SETTEXT8
-
-#define LEXER ctx->pLexer
-#define RECOGNIZER LEXER->rec
-#define LEXSTATE RECOGNIZER->state
-#define TOKSOURCE LEXSTATE->tokSource
-#define GETCHARINDEX() LEXER->getCharIndex(LEXER)
-#define GETLINE() LEXER->getLine(LEXER)
-#define GETTEXT() LEXER->getText(LEXER)
-#define GETCHARPOSITIONINLINE() LEXER->getCharPositionInLine(LEXER)
-#define EMIT() LEXSTATE->type = _type; LEXER->emit(LEXER)
-#define EMITNEW(t) LEXER->emitNew(LEXER, t)
-#define MATCHC(c) LEXER->matchc(LEXER, c)
-#define MATCHS(s) LEXER->matchs(LEXER, s)
-#define MATCHRANGE(c1,c2) LEXER->matchRange(LEXER, c1, c2)
-#define MATCHANY() LEXER->matchAny(LEXER)
-#define LTOKEN LEXSTATE->token
-#define HASFAILED() (LEXSTATE->failed == ANTLR3_TRUE)
-#define BACKTRACKING LEXSTATE->backtracking
-#define FAILEDFLAG LEXSTATE->failed
-#define INPUT LEXER->input
-#define STRSTREAM INPUT
-#define ISTREAM INPUT->istream
-#define INDEX() ISTREAM->index(ISTREAM)
-#define SEEK(n) ISTREAM->seek(ISTREAM, n)
-#define EOF_TOKEN &(LEXSTATE->tokSource->eofToken)
-#define HASEXCEPTION() (LEXSTATE->error == ANTLR3_TRUE)
-#define EXCEPTION LEXSTATE->exception
-#define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)
-#define LRECOVER() LEXER->recover(LEXER)
-#define MARK() ISTREAM->mark(ISTREAM)
-#define REWIND(m) ISTREAM->rewind(ISTREAM, m)
-#define REWINDLAST() ISTREAM->rewindLast(ISTREAM)
-#define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)
-#define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)
-#define PUSHSTREAM(str) LEXER->pushCharStream(LEXER, str)
-#define POPSTREAM() LEXER->popCharStream(LEXER)
-#define SETTEXT(str) LEXSTATE->text = str
-#define SKIP() LEXSTATE->token = &(TOKSOURCE->skipToken)
-#define USER1 LEXSTATE->user1
-#define USER2 LEXSTATE->user2
-#define USER3 LEXSTATE->user3
-#define CUSTOM LEXSTATE->custom
-#define RULEMEMO LEXSTATE->ruleMemo
-#define DBG RECOGNIZER->debugger
-
-/* If we have been told we can rely on the standard 8 bit or UTF16 input
- * stream, then we can define our macros to use the direct pointers
- * in the input object, which is much faster than indirect calls. This
- * is really only significant to lexers with a lot of fragment rules (which
- * do not place LA(1) in a temporary at the moment) and even then
- * only if there is a lot of input (order of say 1M or so).
- */
-#if defined(ANTLR3_INLINE_INPUT_8BIT) || defined(ANTLR3_INLINE_INPUT_UTF16)
-
-# ifdef ANTLR3_INLINE_INPUT_8BIT
-
-/* 8 bit character set */
-
-# define NEXTCHAR ((pANTLR3_UINT8)(INPUT->nextChar))
-# define DATAP ((pANTLR3_UINT8)(INPUT->data))
-
-# else
-
-# define NEXTCHAR ((pANTLR3_UINT16)(INPUT->nextChar))
-# define DATAP ((pANTLR3_UINT16)(INPUT->data))
-
-# endif
-
-# define LA(n) ((NEXTCHAR + n) > (DATAP + INPUT->sizeBuf) ? ANTLR3_CHARSTREAM_EOF : (ANTLR3_UCHAR)(*(NEXTCHAR + n - 1)))
-# define CONSUME() \
-{ \
- if (NEXTCHAR < (DATAP + INPUT->sizeBuf)) \
- { \
- INPUT->charPositionInLine++; \
- if ((ANTLR3_UCHAR)(*NEXTCHAR) == INPUT->newlineChar) \
- { \
- INPUT->line++; \
- INPUT->charPositionInLine = 0; \
- INPUT->currentLine = (void *)(NEXTCHAR + 1); \
- } \
- INPUT->nextChar = (void *)(NEXTCHAR + 1); \
- } \
-}
-
-#else
-
-// Pick up the input character by calling the input stream implementation.
-//
-#define CONSUME() INPUT->istream->consume(INPUT->istream)
-#define LA(n) INPUT->istream->_LA(INPUT->istream, n)
-
-#endif
-
-#define TOKTEXT(tok, txt) tok, (pANTLR3_UINT8)txt
-
-/* The 4 tokens defined below may well clash with your own #defines or token types. If so
- * then for the present you must use different names for your defines as these are hard coded
- * in the code generator. It would be better not to use such names internally, and maybe
- * we can change this in a forthcoming release. I deliberately do not #undef these
- * here as this will at least give you a redefined error somewhere if they clash.
- */
-#define UP ANTLR3_TOKEN_UP
-#define DOWN ANTLR3_TOKEN_DOWN
-#define EOR ANTLR3_TOKEN_EOR
-#define INVALID ANTLR3_TOKEN_INVALID
-
-
-/* =============================================================================
- * Functions to create and destroy scopes. First come the rule scopes, followed
- * by the global declared scopes.
- */
-
-
-
-/* ============================================================================= */
-
-/* =============================================================================
- * Start of recognizer
- */
-
-/* Forward declare the locally static matching functions we have generated and any predicate functions.
- */
-static ANTLR3_INLINE
- void
- mCOMMA (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mGREATER_EQUAL (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mGUARD (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mMAXIMUM (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mMINIMUM (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mMULT (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mNEWLINE (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mPLUS (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mQUESTION_MARK (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mSUB (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mT__19 (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mT__20 (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mT__21 (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mT__22 (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mNUMBER (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mVARIABLE (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mWHITESPACE (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mDIGIT (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mLETTER (pEquationSystemLexer ctx);
-static ANTLR3_INLINE
- void
- mTokens (pEquationSystemLexer ctx);
-static void EquationSystemLexerFree(pEquationSystemLexer ctx);
-
-/* =========================================================================
- * Lexer matching rules end.
- * =========================================================================
- */
-
-
-
-static void
-EquationSystemLexerFree (pEquationSystemLexer ctx)
-{
- LEXER->free(LEXER);
-
- ANTLR3_FREE(ctx);
-}
-
-static void
-EquationSystemLexerReset (pEquationSystemLexer ctx)
-{
- RECOGNIZER->reset(RECOGNIZER);
-}
-
-/** \brief Name of the grammar file that generated this code
- */
-static const char fileName[] = "EquationSystem.g";
-
-/** \brief Return the name of the grammar file that generated this code.
- */
-static const char * getGrammarFileName()
-{
- return fileName;
-}
-
-/** \brief Create a new lexer called EquationSystemLexer
- *
- * \param[in] instream Pointer to an initialized input stream
- * \return
- * - Success pEquationSystemLexer initialized for the lex start
- * - Fail NULL
- */
-ANTLR3_API pEquationSystemLexer EquationSystemLexerNew
-(
-pANTLR3_INPUT_STREAM
- instream)
-{
- // See if we can create a new lexer with the standard constructor
- //
- return EquationSystemLexerNewSSD(instream, NULL);
-}
-
-/** \brief Create a new lexer called EquationSystemLexer
- *
- * \param[in] instream Pointer to an initialized input stream
- * \param[state] state Previously created shared recognizer stat
- * \return
- * - Success pEquationSystemLexer initialized for the lex start
- * - Fail NULL
- */
-ANTLR3_API pEquationSystemLexer EquationSystemLexerNewSSD
-(pANTLR3_INPUT_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
-{
- pEquationSystemLexer ctx; // Context structure we will build and return
-
- ctx = (pEquationSystemLexer) ANTLR3_CALLOC(1, sizeof(EquationSystemLexer));
-
- if (ctx == NULL)
- {
- // Failed to allocate memory for lexer context
- return NULL;
- }
-
- /* -------------------------------------------------------------------
- * Memory for basic structure is allocated, now to fill in
- * in base ANTLR3 structures. We initialize the function pointers
- * for the standard ANTLR3 lexer function set, but upon return
- * from here, the programmer may set the pointers to provide custom
- * implementations of each function.
- *
- * We don't use the macros defined in EquationSystemLexer.h here so you can get a sense
- * of what goes where.
- */
-
- /* Create a base lexer, using the supplied input stream
- */
- ctx->pLexer = antlr3LexerNewStream(ANTLR3_SIZE_HINT, instream, state);
-
- /* Check that we allocated the memory correctly
- */
- if (ctx->pLexer == NULL)
- {
- ANTLR3_FREE(ctx);
- return NULL;
- }
- /* Install the implementation of our EquationSystemLexer interface
- */
- ctx->mCOMMA = mCOMMA;
- ctx->mGREATER_EQUAL = mGREATER_EQUAL;
- ctx->mGUARD = mGUARD;
- ctx->mMAXIMUM = mMAXIMUM;
- ctx->mMINIMUM = mMINIMUM;
- ctx->mMULT = mMULT;
- ctx->mNEWLINE = mNEWLINE;
- ctx->mPLUS = mPLUS;
- ctx->mQUESTION_MARK = mQUESTION_MARK;
- ctx->mSUB = mSUB;
- ctx->mT__19 = mT__19;
- ctx->mT__20 = mT__20;
- ctx->mT__21 = mT__21;
- ctx->mT__22 = mT__22;
- ctx->mNUMBER = mNUMBER;
- ctx->mVARIABLE = mVARIABLE;
- ctx->mWHITESPACE = mWHITESPACE;
- ctx->mDIGIT = mDIGIT;
- ctx->mLETTER = mLETTER;
- ctx->mTokens = mTokens;
-
- /** When the nextToken() call is made to this lexer's pANTLR3_TOKEN_SOURCE
- * it will call mTokens() in this generated code, and will pass it the ctx
- * pointer of this lexer, not the context of the base lexer, so store that now.
- */
- ctx->pLexer->ctx = ctx;
-
- /**Install the token matching function
- */
- ctx->pLexer->mTokens = (void (*) (void *))(mTokens);
-
- ctx->getGrammarFileName = getGrammarFileName;
- ctx->free = EquationSystemLexerFree;
- ctx->reset = EquationSystemLexerReset;
-
-
- /* Return the newly built lexer to the caller
- */
- return ctx;
-}
-/* =========================================================================
- * Functions to match the lexer grammar defined tokens from the input stream
- */
-
-// Comes from: 7:7: ( ';' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start COMMA
- *
- * Looks to match the characters the constitute the token COMMA
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mCOMMA(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = COMMA;
-
-
- // EquationSystem.g:7:7: ( ';' )
- // EquationSystem.g:7:9: ';'
- {
- MATCHC(';');
- if (HASEXCEPTION())
- {
- goto ruleCOMMAEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleCOMMAEx; /* Prevent compiler warnings */
- ruleCOMMAEx: ;
-
-}
-// $ANTLR end COMMA
-
-// Comes from: 8:15: ( '>=' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start GREATER_EQUAL
- *
- * Looks to match the characters the constitute the token GREATER_EQUAL
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mGREATER_EQUAL(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = GREATER_EQUAL;
-
-
- // EquationSystem.g:8:15: ( '>=' )
- // EquationSystem.g:8:17: '>='
- {
- MATCHS(lit_1);
- if (HASEXCEPTION())
- {
- goto ruleGREATER_EQUALEx;
- }
-
-
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleGREATER_EQUALEx; /* Prevent compiler warnings */
- ruleGREATER_EQUALEx: ;
-
-}
-// $ANTLR end GREATER_EQUAL
-
-// Comes from: 9:7: ( 'guard' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start GUARD
- *
- * Looks to match the characters the constitute the token GUARD
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mGUARD(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = GUARD;
-
-
- // EquationSystem.g:9:7: ( 'guard' )
- // EquationSystem.g:9:9: 'guard'
- {
- MATCHS(lit_2);
- if (HASEXCEPTION())
- {
- goto ruleGUARDEx;
- }
-
-
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleGUARDEx; /* Prevent compiler warnings */
- ruleGUARDEx: ;
-
-}
-// $ANTLR end GUARD
-
-// Comes from: 10:9: ( 'max' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start MAXIMUM
- *
- * Looks to match the characters the constitute the token MAXIMUM
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mMAXIMUM(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = MAXIMUM;
-
-
- // EquationSystem.g:10:9: ( 'max' )
- // EquationSystem.g:10:11: 'max'
- {
- MATCHS(lit_3);
- if (HASEXCEPTION())
- {
- goto ruleMAXIMUMEx;
- }
-
-
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleMAXIMUMEx; /* Prevent compiler warnings */
- ruleMAXIMUMEx: ;
-
-}
-// $ANTLR end MAXIMUM
-
-// Comes from: 11:9: ( 'min' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start MINIMUM
- *
- * Looks to match the characters the constitute the token MINIMUM
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mMINIMUM(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = MINIMUM;
-
-
- // EquationSystem.g:11:9: ( 'min' )
- // EquationSystem.g:11:11: 'min'
- {
- MATCHS(lit_4);
- if (HASEXCEPTION())
- {
- goto ruleMINIMUMEx;
- }
-
-
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleMINIMUMEx; /* Prevent compiler warnings */
- ruleMINIMUMEx: ;
-
-}
-// $ANTLR end MINIMUM
-
-// Comes from: 12:6: ( '*' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start MULT
- *
- * Looks to match the characters the constitute the token MULT
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mMULT(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = MULT;
-
-
- // EquationSystem.g:12:6: ( '*' )
- // EquationSystem.g:12:8: '*'
- {
- MATCHC('*');
- if (HASEXCEPTION())
- {
- goto ruleMULTEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleMULTEx; /* Prevent compiler warnings */
- ruleMULTEx: ;
-
-}
-// $ANTLR end MULT
-
-// Comes from: 13:9: ( '\\n' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start NEWLINE
- *
- * Looks to match the characters the constitute the token NEWLINE
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mNEWLINE(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = NEWLINE;
-
-
- // EquationSystem.g:13:9: ( '\\n' )
- // EquationSystem.g:13:11: '\\n'
- {
- MATCHC('\n');
- if (HASEXCEPTION())
- {
- goto ruleNEWLINEEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleNEWLINEEx; /* Prevent compiler warnings */
- ruleNEWLINEEx: ;
-
-}
-// $ANTLR end NEWLINE
-
-// Comes from: 14:6: ( '+' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start PLUS
- *
- * Looks to match the characters the constitute the token PLUS
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mPLUS(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = PLUS;
-
-
- // EquationSystem.g:14:6: ( '+' )
- // EquationSystem.g:14:8: '+'
- {
- MATCHC('+');
- if (HASEXCEPTION())
- {
- goto rulePLUSEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto rulePLUSEx; /* Prevent compiler warnings */
- rulePLUSEx: ;
-
-}
-// $ANTLR end PLUS
-
-// Comes from: 15:15: ( '?' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start QUESTION_MARK
- *
- * Looks to match the characters the constitute the token QUESTION_MARK
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mQUESTION_MARK(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = QUESTION_MARK;
-
-
- // EquationSystem.g:15:15: ( '?' )
- // EquationSystem.g:15:17: '?'
- {
- MATCHC('?');
- if (HASEXCEPTION())
- {
- goto ruleQUESTION_MARKEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleQUESTION_MARKEx; /* Prevent compiler warnings */
- ruleQUESTION_MARKEx: ;
-
-}
-// $ANTLR end QUESTION_MARK
-
-// Comes from: 16:5: ( '-' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start SUB
- *
- * Looks to match the characters the constitute the token SUB
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mSUB(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = SUB;
-
-
- // EquationSystem.g:16:5: ( '-' )
- // EquationSystem.g:16:7: '-'
- {
- MATCHC('-');
- if (HASEXCEPTION())
- {
- goto ruleSUBEx;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleSUBEx; /* Prevent compiler warnings */
- ruleSUBEx: ;
-
-}
-// $ANTLR end SUB
-
-// Comes from: 17:7: ( '(' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start T__19
- *
- * Looks to match the characters the constitute the token T__19
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mT__19(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = T__19;
-
-
- // EquationSystem.g:17:7: ( '(' )
- // EquationSystem.g:17:9: '('
- {
- MATCHC('(');
- if (HASEXCEPTION())
- {
- goto ruleT__19Ex;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleT__19Ex; /* Prevent compiler warnings */
- ruleT__19Ex: ;
-
-}
-// $ANTLR end T__19
-
-// Comes from: 18:7: ( ')' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start T__20
- *
- * Looks to match the characters the constitute the token T__20
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mT__20(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = T__20;
-
-
- // EquationSystem.g:18:7: ( ')' )
- // EquationSystem.g:18:9: ')'
- {
- MATCHC(')');
- if (HASEXCEPTION())
- {
- goto ruleT__20Ex;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleT__20Ex; /* Prevent compiler warnings */
- ruleT__20Ex: ;
-
-}
-// $ANTLR end T__20
-
-// Comes from: 19:7: ( ',' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start T__21
- *
- * Looks to match the characters the constitute the token T__21
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mT__21(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = T__21;
-
-
- // EquationSystem.g:19:7: ( ',' )
- // EquationSystem.g:19:9: ','
- {
- MATCHC(',');
- if (HASEXCEPTION())
- {
- goto ruleT__21Ex;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleT__21Ex; /* Prevent compiler warnings */
- ruleT__21Ex: ;
-
-}
-// $ANTLR end T__21
-
-// Comes from: 20:7: ( '=' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start T__22
- *
- * Looks to match the characters the constitute the token T__22
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mT__22(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = T__22;
-
-
- // EquationSystem.g:20:7: ( '=' )
- // EquationSystem.g:20:9: '='
- {
- MATCHC('=');
- if (HASEXCEPTION())
- {
- goto ruleT__22Ex;
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleT__22Ex; /* Prevent compiler warnings */
- ruleT__22Ex: ;
-
-}
-// $ANTLR end T__22
-
-// Comes from: 37:8: ( ( DIGIT )+ )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start NUMBER
- *
- * Looks to match the characters the constitute the token NUMBER
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mNUMBER(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = NUMBER;
-
-
- // EquationSystem.g:37:8: ( ( DIGIT )+ )
- // EquationSystem.g:37:10: ( DIGIT )+
- {
- // EquationSystem.g:37:10: ( DIGIT )+
- {
- int cnt1=0;
-
- for (;;)
- {
- int alt1=2;
- switch ( LA(1) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- {
- alt1=1;
- }
- break;
-
- }
-
- switch (alt1)
- {
- case 1:
- // EquationSystem.g:
- {
- if ( ((LA(1) >= '0') && (LA(1) <= '9')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleNUMBEREx;
- }
-
-
- }
- break;
-
- default:
-
- if ( cnt1 >= 1 )
- {
- goto loop1;
- }
- /* mismatchedSetEx()
- */
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
-
-
- goto ruleNUMBEREx;
- }
- cnt1++;
- }
- loop1: ; /* Jump to here if this rule does not match */
- }
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleNUMBEREx; /* Prevent compiler warnings */
- ruleNUMBEREx: ;
-
-}
-// $ANTLR end NUMBER
-
-// Comes from: 38:9: ( ( LETTER ) ( LETTER | DIGIT )* )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start VARIABLE
- *
- * Looks to match the characters the constitute the token VARIABLE
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mVARIABLE(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = VARIABLE;
-
-
- // EquationSystem.g:38:9: ( ( LETTER ) ( LETTER | DIGIT )* )
- // EquationSystem.g:38:11: ( LETTER ) ( LETTER | DIGIT )*
- {
- if ( ((LA(1) >= 'a') && (LA(1) <= 'z')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleVARIABLEEx;
- }
-
-
- // EquationSystem.g:38:20: ( LETTER | DIGIT )*
-
- for (;;)
- {
- int alt2=2;
- switch ( LA(1) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt2=1;
- }
- break;
-
- }
-
- switch (alt2)
- {
- case 1:
- // EquationSystem.g:
- {
- if ( ((LA(1) >= '0') && (LA(1) <= '9')) || ((LA(1) >= 'a') && (LA(1) <= 'z')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleVARIABLEEx;
- }
-
-
- }
- break;
-
- default:
- goto loop2; /* break out of the loop */
- break;
- }
- }
- loop2: ; /* Jump out to here if this rule does not match */
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleVARIABLEEx; /* Prevent compiler warnings */
- ruleVARIABLEEx: ;
-
-}
-// $ANTLR end VARIABLE
-
-// Comes from: 39:12: ( ( '\\t' | ' ' | '\\u000C' )+ )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start WHITESPACE
- *
- * Looks to match the characters the constitute the token WHITESPACE
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mWHITESPACE(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
- _type = WHITESPACE;
-
-
- // EquationSystem.g:39:12: ( ( '\\t' | ' ' | '\\u000C' )+ )
- // EquationSystem.g:39:14: ( '\\t' | ' ' | '\\u000C' )+
- {
- // EquationSystem.g:39:14: ( '\\t' | ' ' | '\\u000C' )+
- {
- int cnt3=0;
-
- for (;;)
- {
- int alt3=2;
- switch ( LA(1) )
- {
- case '\t':
- case '\f':
- case ' ':
- {
- alt3=1;
- }
- break;
-
- }
-
- switch (alt3)
- {
- case 1:
- // EquationSystem.g:
- {
- if ( LA(1) == '\t' || LA(1) == '\f' || LA(1) == ' ' )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleWHITESPACEEx;
- }
-
-
- }
- break;
-
- default:
-
- if ( cnt3 >= 1 )
- {
- goto loop3;
- }
- /* mismatchedSetEx()
- */
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
-
-
- goto ruleWHITESPACEEx;
- }
- cnt3++;
- }
- loop3: ; /* Jump to here if this rule does not match */
- }
-
- {
-
- LEXSTATE->channel = HIDDEN;
-
- }
-
-
- }
-
- LEXSTATE->type = _type;
- // This is where rules clean up and exit
- //
- goto ruleWHITESPACEEx; /* Prevent compiler warnings */
- ruleWHITESPACEEx: ;
-
-}
-// $ANTLR end WHITESPACE
-
-// Comes from: 46:7: ( '0' .. '9' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start DIGIT
- *
- * Looks to match the characters the constitute the token DIGIT
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mDIGIT(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
-
- // EquationSystem.g:46:7: ( '0' .. '9' )
- // EquationSystem.g:
- {
- if ( ((LA(1) >= '0') && (LA(1) <= '9')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleDIGITEx;
- }
-
-
- }
-
-
- // This is where rules clean up and exit
- //
- goto ruleDIGITEx; /* Prevent compiler warnings */
- ruleDIGITEx: ;
-
-}
-// $ANTLR end DIGIT
-
-// Comes from: 48:7: ( 'a' .. 'z' )
-/** \brief Lexer rule generated by ANTLR3
- *
- * $ANTLR start LETTER
- *
- * Looks to match the characters the constitute the token LETTER
- * from the attached input stream.
- *
- *
- * \remark
- * - lexer->error == ANTLR3_TRUE if an exception was thrown.
- */
-static ANTLR3_INLINE
-void mLETTER(pEquationSystemLexer ctx)
-{
- ANTLR3_UINT32 _type;
-
-
- // EquationSystem.g:48:7: ( 'a' .. 'z' )
- // EquationSystem.g:
- {
- if ( ((LA(1) >= 'a') && (LA(1) <= 'z')) )
- {
- CONSUME();
- }
- else
- {
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
-
- LRECOVER();
- goto ruleLETTEREx;
- }
-
-
- }
-
-
- // This is where rules clean up and exit
- //
- goto ruleLETTEREx; /* Prevent compiler warnings */
- ruleLETTEREx: ;
-
-}
-// $ANTLR end LETTER
-
-/** This is the entry point in to the lexer from an object that
- * wants to generate the next token, such as a pCOMMON_TOKEN_STREAM
- */
-static void
-mTokens(pEquationSystemLexer ctx)
-{
- {
- // EquationSystem.g:1:8: ( COMMA | GREATER_EQUAL | GUARD | MAXIMUM | MINIMUM | MULT | NEWLINE | PLUS | QUESTION_MARK | SUB | T__19 | T__20 | T__21 | T__22 | NUMBER | VARIABLE | WHITESPACE )
-
- ANTLR3_UINT32 alt4;
-
- alt4=17;
-
- switch ( LA(1) )
- {
- case ';':
- {
- alt4=1;
- }
- break;
- case '>':
- {
- alt4=2;
- }
- break;
- case 'g':
- {
- switch ( LA(2) )
- {
- case 'u':
- {
- switch ( LA(3) )
- {
- case 'a':
- {
- switch ( LA(4) )
- {
- case 'r':
- {
- switch ( LA(5) )
- {
- case 'd':
- {
- switch ( LA(6) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt4=16;
- }
- break;
-
- default:
- alt4=3;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
- case 'm':
- {
- switch ( LA(2) )
- {
- case 'a':
- {
- switch ( LA(3) )
- {
- case 'x':
- {
- switch ( LA(4) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt4=16;
- }
- break;
-
- default:
- alt4=4;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
- case 'i':
- {
- switch ( LA(3) )
- {
- case 'n':
- {
- switch ( LA(4) )
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt4=16;
- }
- break;
-
- default:
- alt4=5;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
-
- default:
- alt4=16;
- }
-
- }
- break;
- case '*':
- {
- alt4=6;
- }
- break;
- case '\n':
- {
- alt4=7;
- }
- break;
- case '+':
- {
- alt4=8;
- }
- break;
- case '?':
- {
- alt4=9;
- }
- break;
- case '-':
- {
- alt4=10;
- }
- break;
- case '(':
- {
- alt4=11;
- }
- break;
- case ')':
- {
- alt4=12;
- }
- break;
- case ',':
- {
- alt4=13;
- }
- break;
- case '=':
- {
- alt4=14;
- }
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- {
- alt4=15;
- }
- break;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z':
- {
- alt4=16;
- }
- break;
- case '\t':
- case '\f':
- case ' ':
- {
- alt4=17;
- }
- break;
-
- default:
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 4;
- EXCEPTION->state = 0;
-
-
- goto ruleTokensEx;
-
- }
-
- switch (alt4)
- {
- case 1:
- // EquationSystem.g:1:10: COMMA
- {
- /* 1:10: COMMA */
- mCOMMA(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 2:
- // EquationSystem.g:1:16: GREATER_EQUAL
- {
- /* 1:16: GREATER_EQUAL */
- mGREATER_EQUAL(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 3:
- // EquationSystem.g:1:30: GUARD
- {
- /* 1:30: GUARD */
- mGUARD(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 4:
- // EquationSystem.g:1:36: MAXIMUM
- {
- /* 1:36: MAXIMUM */
- mMAXIMUM(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 5:
- // EquationSystem.g:1:44: MINIMUM
- {
- /* 1:44: MINIMUM */
- mMINIMUM(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 6:
- // EquationSystem.g:1:52: MULT
- {
- /* 1:52: MULT */
- mMULT(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 7:
- // EquationSystem.g:1:57: NEWLINE
- {
- /* 1:57: NEWLINE */
- mNEWLINE(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 8:
- // EquationSystem.g:1:65: PLUS
- {
- /* 1:65: PLUS */
- mPLUS(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 9:
- // EquationSystem.g:1:70: QUESTION_MARK
- {
- /* 1:70: QUESTION_MARK */
- mQUESTION_MARK(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 10:
- // EquationSystem.g:1:84: SUB
- {
- /* 1:84: SUB */
- mSUB(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 11:
- // EquationSystem.g:1:88: T__19
- {
- /* 1:88: T__19 */
- mT__19(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 12:
- // EquationSystem.g:1:94: T__20
- {
- /* 1:94: T__20 */
- mT__20(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 13:
- // EquationSystem.g:1:100: T__21
- {
- /* 1:100: T__21 */
- mT__21(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 14:
- // EquationSystem.g:1:106: T__22
- {
- /* 1:106: T__22 */
- mT__22(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 15:
- // EquationSystem.g:1:112: NUMBER
- {
- /* 1:112: NUMBER */
- mNUMBER(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 16:
- // EquationSystem.g:1:119: VARIABLE
- {
- /* 1:119: VARIABLE */
- mVARIABLE(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
- case 17:
- // EquationSystem.g:1:128: WHITESPACE
- {
- /* 1:128: WHITESPACE */
- mWHITESPACE(ctx );
- if (HASEXCEPTION())
- {
- goto ruleTokensEx;
- }
-
-
-
- }
- break;
-
- }
- }
-
-
- goto ruleTokensEx; /* Prevent compiler warnings */
-ruleTokensEx: ;
-}
-
-/* =========================================================================
- * Lexer matching rules end.
- * =========================================================================
- */
-/* End of Lexer code
- * ================================================
- * ================================================
- */
-
-
-/* End of code
- * =============================================================================
- */
diff --git a/impl/parser/EquationSystemLexer.h b/impl/parser/EquationSystemLexer.h
deleted file mode 100644
index e02f9a0..0000000
--- a/impl/parser/EquationSystemLexer.h
+++ /dev/null
@@ -1,313 +0,0 @@
-/** \file
- * This C header file was generated by $ANTLR version 3.4
- *
- * - From the grammar source file : EquationSystem.g
- * - On : 2012-07-12 15:47:53
- * - for the lexer : EquationSystemLexerLexer
- *
- * Editing it, at least manually, is not wise.
- *
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
- *
- *
- * The lexer
-EquationSystemLexer
-
-has the callable functions (rules) shown below,
- * which will invoke the code for the associated rule in the source grammar
- * assuming that the input stream is pointing to a token/text stream that could begin
- * this rule.
- *
- * For instance if you call the first (topmost) rule in a parser grammar, you will
- * get the results of a full parse, but calling a rule half way through the grammar will
- * allow you to pass part of a full token stream to the parser, such as for syntax checking
- * in editors and so on.
- *
- * The parser entry points are called indirectly (by function pointer to function) via
- * a parser context typedef pEquationSystemLexer, which is returned from a call to EquationSystemLexerNew().
- *
- * As this is a generated lexer, it is unlikely you will call it 'manually'. However
- * the methods are provided anyway.
- *
- * The methods in pEquationSystemLexer are as follows:
- *
- * -
- void
- pEquationSystemLexer->COMMA(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->GREATER_EQUAL(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->GUARD(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->MAXIMUM(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->MINIMUM(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->MULT(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->NEWLINE(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->PLUS(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->QUESTION_MARK(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->SUB(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->T__19(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->T__20(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->T__21(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->T__22(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->NUMBER(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->VARIABLE(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->WHITESPACE(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->DIGIT(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->LETTER(pEquationSystemLexer)
- * -
- void
- pEquationSystemLexer->Tokens(pEquationSystemLexer)
- *
- * The return type for any particular rule is of course determined by the source
- * grammar file.
- */
-// [The "BSD license"]
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
-// http://www.temporal-wave.com
-// http://www.linkedin.com/in/jimidle
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. 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.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-
-#ifndef _EquationSystemLexer_H
-#define _EquationSystemLexer_H
-/* =============================================================================
- * Standard antlr3 C runtime definitions
- */
-#include <antlr3.h>
-
-/* End of standard antlr 3 runtime definitions
- * =============================================================================
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Forward declare the context typedef so that we can use it before it is
-// properly defined. Delegators and delegates (from import statements) are
-// interdependent and their context structures contain pointers to each other
-// C only allows such things to be declared if you pre-declare the typedef.
-//
-typedef struct EquationSystemLexer_Ctx_struct EquationSystemLexer, * pEquationSystemLexer;
-
-
-
-#ifdef ANTLR3_WINDOWS
-// Disable: Unreferenced parameter, - Rules with parameters that are not used
-// constant conditional, - ANTLR realizes that a prediction is always true (synpred usually)
-// initialized but unused variable - tree rewrite variables declared but not needed
-// Unreferenced local variable - lexer rule declares but does not always use _type
-// potentially unitialized variable used - retval always returned from a rule
-// unreferenced local function has been removed - susually getTokenNames or freeScope, they can go without warnigns
-//
-// These are only really displayed at warning level /W4 but that is the code ideal I am aiming at
-// and the codegen must generate some of these warnings by necessity, apart from 4100, which is
-// usually generated when a parser rule is given a parameter that it does not use. Mostly though
-// this is a matter of orthogonality hence I disable that one.
-//
-#pragma warning( disable : 4100 )
-#pragma warning( disable : 4101 )
-#pragma warning( disable : 4127 )
-#pragma warning( disable : 4189 )
-#pragma warning( disable : 4505 )
-#pragma warning( disable : 4701 )
-#endif
-
-/** Context tracking structure for
-EquationSystemLexer
-
- */
-struct EquationSystemLexer_Ctx_struct
-{
- /** Built in ANTLR3 context tracker contains all the generic elements
- * required for context tracking.
- */
- pANTLR3_LEXER pLexer;
-
- void
- (*mCOMMA) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mGREATER_EQUAL) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mGUARD) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mMAXIMUM) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mMINIMUM) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mMULT) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mNEWLINE) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mPLUS) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mQUESTION_MARK) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mSUB) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mT__19) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mT__20) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mT__21) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mT__22) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mNUMBER) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mVARIABLE) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mWHITESPACE) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mDIGIT) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mLETTER) (struct EquationSystemLexer_Ctx_struct * ctx);
-
- void
- (*mTokens) (struct EquationSystemLexer_Ctx_struct * ctx);
- const char * (*getGrammarFileName)();
- void (*reset) (struct EquationSystemLexer_Ctx_struct * ctx);
- void (*free) (struct EquationSystemLexer_Ctx_struct * ctx);
-};
-
-// Function protoypes for the constructor functions that external translation units
-// such as delegators and delegates may wish to call.
-//
-ANTLR3_API pEquationSystemLexer EquationSystemLexerNew (
-pANTLR3_INPUT_STREAM
- instream);
-ANTLR3_API pEquationSystemLexer EquationSystemLexerNewSSD (
-pANTLR3_INPUT_STREAM
- instream, pANTLR3_RECOGNIZER_SHARED_STATE state);
-
-/** Symbolic definitions of all the tokens that the
-lexer
- will work with.
- * \{
- *
- * Antlr will define EOF, but we can't use that as it it is too common in
- * in C header files and that would be confusing. There is no way to filter this out at the moment
- * so we just undef it here for now. That isn't the value we get back from C recognizers
- * anyway. We are looking for ANTLR3_TOKEN_EOF.
- */
-#ifdef EOF
-#undef EOF
-#endif
-#ifdef Tokens
-#undef Tokens
-#endif
-#define EOF -1
-#define T__19 19
-#define T__20 20
-#define T__21 21
-#define T__22 22
-#define COMMA 4
-#define DIGIT 5
-#define GREATER_EQUAL 6
-#define GUARD 7
-#define LETTER 8
-#define MAXIMUM 9
-#define MINIMUM 10
-#define MULT 11
-#define NEWLINE 12
-#define NUMBER 13
-#define PLUS 14
-#define QUESTION_MARK 15
-#define SUB 16
-#define VARIABLE 17
-#define WHITESPACE 18
-#ifdef EOF
-#undef EOF
-#define EOF ANTLR3_TOKEN_EOF
-#endif
-
-#ifndef TOKENSOURCE
-#define TOKENSOURCE(lxr) lxr->pLexer->rec->state->tokSource
-#endif
-
-/* End of token definitions for EquationSystemLexer
- * =============================================================================
- */
-/** } */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* END - Note:Keep extra line feed to satisfy UNIX systems */
diff --git a/impl/parser/EquationSystemLexer.o b/impl/parser/EquationSystemLexer.o
deleted file mode 100644
index a0acfea..0000000
--- a/impl/parser/EquationSystemLexer.o
+++ /dev/null
Binary files differ
diff --git a/impl/parser/EquationSystemParser.c b/impl/parser/EquationSystemParser.c
deleted file mode 100644
index 8252c19..0000000
--- a/impl/parser/EquationSystemParser.c
+++ /dev/null
@@ -1,2460 +0,0 @@
-/** \file
- * This C source file was generated by $ANTLR version 3.4
- *
- * - From the grammar source file : EquationSystem.g
- * - On : 2012-07-12 15:47:50
- * - for the parser : EquationSystemParserParser
- *
- * Editing it, at least manually, is not wise.
- *
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
- *
- *
-*/
-// [The "BSD license"]
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
-// http://www.temporal-wave.com
-// http://www.linkedin.com/in/jimidle
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. 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.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-
-/* -----------------------------------------
- * Include the ANTLR3 generated header file.
- */
-#include "EquationSystemParser.h"
-/* ----------------------------------------- */
-
-
-
-
-
-/* MACROS that hide the C interface implementations from the
- * generated code, which makes it a little more understandable to the human eye.
- * I am very much against using C pre-processor macros for function calls and bits
- * of code as you cannot see what is happening when single stepping in debuggers
- * and so on. The exception (in my book at least) is for generated code, where you are
- * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()
- * hides some indirect calls, but is always referring to the input stream. This is
- * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig
- * the runtime interfaces without changing the generated code too often, without
- * confusing the reader of the generated output, who may not wish to know the gory
- * details of the interface inheritance.
- */
-
-#define CTX ctx
-
-/* Aids in accessing scopes for grammar programmers
- */
-#undef SCOPE_TYPE
-#undef SCOPE_STACK
-#undef SCOPE_TOP
-#define SCOPE_TYPE(scope) pEquationSystemParser_##scope##_SCOPE
-#define SCOPE_STACK(scope) pEquationSystemParser_##scope##Stack
-#define SCOPE_TOP(scope) ctx->pEquationSystemParser_##scope##Top
-#define SCOPE_SIZE(scope) ctx->pEquationSystemParser_##scope##Stack_limit
-#define SCOPE_INSTANCE(scope, i) (ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))
-
-/* Macros for accessing things in the parser
- */
-
-#undef PARSER
-#undef RECOGNIZER
-#undef HAVEPARSEDRULE
-#undef MEMOIZE
-#undef INPUT
-#undef STRSTREAM
-#undef HASEXCEPTION
-#undef EXCEPTION
-#undef MATCHT
-#undef MATCHANYT
-#undef FOLLOWSTACK
-#undef FOLLOWPUSH
-#undef FOLLOWPOP
-#undef PRECOVER
-#undef PREPORTERROR
-#undef LA
-#undef LT
-#undef CONSTRUCTEX
-#undef CONSUME
-#undef MARK
-#undef REWIND
-#undef REWINDLAST
-#undef PERRORRECOVERY
-#undef HASFAILED
-#undef FAILEDFLAG
-#undef RECOVERFROMMISMATCHEDSET
-#undef RECOVERFROMMISMATCHEDELEMENT
-#undef INDEX
-#undef ADAPTOR
-#undef SEEK
-#undef RULEMEMO
-#undef DBG
-
-#define PARSER ctx->pParser
-#define RECOGNIZER PARSER->rec
-#define PSRSTATE RECOGNIZER->state
-#define HAVEPARSEDRULE(r) RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)
-#define MEMOIZE(ri,si) RECOGNIZER->memoize(RECOGNIZER, ri, si)
-#define INPUT PARSER->tstream
-#define STRSTREAM INPUT
-#define ISTREAM INPUT->istream
-#define INDEX() ISTREAM->index(INPUT->istream)
-#define HASEXCEPTION() (PSRSTATE->error == ANTLR3_TRUE)
-#define EXCEPTION PSRSTATE->exception
-#define MATCHT(t, fs) RECOGNIZER->match(RECOGNIZER, t, fs)
-#define MATCHANYT() RECOGNIZER->matchAny(RECOGNIZER)
-#define FOLLOWSTACK PSRSTATE->following
-#ifdef SKIP_FOLLOW_SETS
-#define FOLLOWPUSH(x)
-#define FOLLOWPOP()
-#else
-#define FOLLOWPUSH(x) FOLLOWSTACK->push(FOLLOWSTACK, ((void *)(&(x))), NULL)
-#define FOLLOWPOP() FOLLOWSTACK->pop(FOLLOWSTACK)
-#endif
-#define PRECOVER() RECOGNIZER->recover(RECOGNIZER)
-#define PREPORTERROR() RECOGNIZER->reportError(RECOGNIZER)
-#define LA(n) INPUT->istream->_LA(ISTREAM, n)
-#define LT(n) INPUT->_LT(INPUT, n)
-#define CONSTRUCTEX() RECOGNIZER->exConstruct(RECOGNIZER)
-#define CONSUME() ISTREAM->consume(ISTREAM)
-#define MARK() ISTREAM->mark(ISTREAM)
-#define REWIND(m) ISTREAM->rewind(ISTREAM, m)
-#define REWINDLAST() ISTREAM->rewindLast(ISTREAM)
-#define SEEK(n) ISTREAM->seek(ISTREAM, n)
-#define PERRORRECOVERY PSRSTATE->errorRecovery
-#define FAILEDFLAG PSRSTATE->failed
-#define HASFAILED() (FAILEDFLAG == ANTLR3_TRUE)
-#define BACKTRACKING PSRSTATE->backtracking
-#define RECOVERFROMMISMATCHEDSET(s) RECOGNIZER->recoverFromMismatchedSet(RECOGNIZER, s)
-#define RECOVERFROMMISMATCHEDELEMENT(e) RECOGNIZER->recoverFromMismatchedElement(RECOGNIZER, s)
-#define ADAPTOR ctx->adaptor
-#define RULEMEMO PSRSTATE->ruleMemo
-#define DBG RECOGNIZER->debugger
-
-
-#define TOKTEXT(tok, txt) tok, (pANTLR3_UINT8)txt
-
-/* The 4 tokens defined below may well clash with your own #defines or token types. If so
- * then for the present you must use different names for your defines as these are hard coded
- * in the code generator. It would be better not to use such names internally, and maybe
- * we can change this in a forthcoming release. I deliberately do not #undef these
- * here as this will at least give you a redefined error somewhere if they clash.
- */
-#define UP ANTLR3_TOKEN_UP
-#define DOWN ANTLR3_TOKEN_DOWN
-#define EOR ANTLR3_TOKEN_EOR
-#define INVALID ANTLR3_TOKEN_INVALID
-
-
-/* =============================================================================
- * Functions to create and destroy scopes. First come the rule scopes, followed
- * by the global declared scopes.
- */
-
-
-
-/* ============================================================================= */
-
-/* =============================================================================
- * Start of recognizer
- */
-
-
-/** \brief Table of all token names in symbolic order, mainly used for
- * error reporting.
- */
-pANTLR3_UINT8 EquationSystemParserTokenNames[19+4]
- = {
- (pANTLR3_UINT8) "<invalid>", /* String to print to indicate an invalid token */
- (pANTLR3_UINT8) "<EOR>",
- (pANTLR3_UINT8) "<DOWN>",
- (pANTLR3_UINT8) "<UP>",
- (pANTLR3_UINT8) "COMMA",
- (pANTLR3_UINT8) "DIGIT",
- (pANTLR3_UINT8) "GREATER_EQUAL",
- (pANTLR3_UINT8) "GUARD",
- (pANTLR3_UINT8) "LETTER",
- (pANTLR3_UINT8) "MAXIMUM",
- (pANTLR3_UINT8) "MINIMUM",
- (pANTLR3_UINT8) "MULT",
- (pANTLR3_UINT8) "NEWLINE",
- (pANTLR3_UINT8) "NUMBER",
- (pANTLR3_UINT8) "PLUS",
- (pANTLR3_UINT8) "QUESTION_MARK",
- (pANTLR3_UINT8) "SUB",
- (pANTLR3_UINT8) "VARIABLE",
- (pANTLR3_UINT8) "WHITESPACE",
- (pANTLR3_UINT8) "'('",
- (pANTLR3_UINT8) "')'",
- (pANTLR3_UINT8) "','",
- (pANTLR3_UINT8) "'='"
- };
-
-
-
-// Forward declare the locally static matching functions we have generated.
-//
-static
- EquationSystemParser_equation_system_return
- equation_system (pEquationSystemParser ctx);
-static
- EquationSystemParser_equation_return
- equation (pEquationSystemParser ctx);
-static
- EquationSystemParser_maxExpr_return
- maxExpr (pEquationSystemParser ctx);
-static
- EquationSystemParser_minExpr_return
- minExpr (pEquationSystemParser ctx);
-static
- EquationSystemParser_expr_return
- expr (pEquationSystemParser ctx);
-static
- EquationSystemParser_term_return
- term (pEquationSystemParser ctx);
-static
- ANTLR3_BOOLEAN
- synpred8_EquationSystem (pEquationSystemParser ctx);
-static
- ANTLR3_BOOLEAN
- synpred12_EquationSystem (pEquationSystemParser ctx);
-static void EquationSystemParserFree(pEquationSystemParser ctx);
-static void EquationSystemParserReset (pEquationSystemParser ctx);
-
-/* For use in tree output where we are accumulating rule labels via label += ruleRef
- * we need a function that knows how to free a return scope when the list is destroyed.
- * We cannot just use ANTLR3_FREE because in debug tracking mode, this is a macro.
- */
-static void ANTLR3_CDECL freeScope(void * scope)
-{
- ANTLR3_FREE(scope);
-}
-
-/** \brief Name of the grammar file that generated this code
- */
-static const char fileName[] = "EquationSystem.g";
-
-/** \brief Return the name of the grammar file that generated this code.
- */
-static const char * getGrammarFileName()
-{
- return fileName;
-}
-/** \brief Create a new EquationSystemParser parser and return a context for it.
- *
- * \param[in] instream Pointer to an input stream interface.
- *
- * \return Pointer to new parser context upon success.
- */
-ANTLR3_API pEquationSystemParser
-EquationSystemParserNew (pANTLR3_COMMON_TOKEN_STREAM instream)
-{
- // See if we can create a new parser with the standard constructor
- //
- return EquationSystemParserNewSSD(instream, NULL);
-}
-
-/** \brief Create a new EquationSystemParser parser and return a context for it.
- *
- * \param[in] instream Pointer to an input stream interface.
- *
- * \return Pointer to new parser context upon success.
- */
-ANTLR3_API pEquationSystemParser
-EquationSystemParserNewSSD (pANTLR3_COMMON_TOKEN_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
-{
- pEquationSystemParser ctx; /* Context structure we will build and return */
-
- ctx = (pEquationSystemParser) ANTLR3_CALLOC(1, sizeof(EquationSystemParser));
-
- if (ctx == NULL)
- {
- // Failed to allocate memory for parser context
- //
- return NULL;
- }
-
- /* -------------------------------------------------------------------
- * Memory for basic structure is allocated, now to fill in
- * the base ANTLR3 structures. We initialize the function pointers
- * for the standard ANTLR3 parser function set, but upon return
- * from here, the programmer may set the pointers to provide custom
- * implementations of each function.
- *
- * We don't use the macros defined in EquationSystemParser.h here, in order that you can get a sense
- * of what goes where.
- */
-
- /* Create a base parser/recognizer, using the supplied token stream
- */
- ctx->pParser = antlr3ParserNewStream(ANTLR3_SIZE_HINT, instream->tstream, state);
- /* Install the implementation of our EquationSystemParser interface
- */
- ctx->equation_system = equation_system;
- ctx->equation = equation;
- ctx->maxExpr = maxExpr;
- ctx->minExpr = minExpr;
- ctx->expr = expr;
- ctx->term = term;
- ctx->synpred8_EquationSystem = synpred8_EquationSystem;
- ctx->synpred12_EquationSystem = synpred12_EquationSystem;
- ctx->free = EquationSystemParserFree;
- ctx->reset = EquationSystemParserReset;
- ctx->getGrammarFileName = getGrammarFileName;
-
- /* Install the scope pushing methods.
- */
-ADAPTOR = ANTLR3_TREE_ADAPTORNew(instream->tstream->tokenSource->strFactory);
-
-ctx->vectors = antlr3VectorFactoryNew(0);
- /* Install the token table
- */
- PSRSTATE->tokenNames = EquationSystemParserTokenNames;
-
-
- /* Return the newly built parser to the caller
- */
- return ctx;
-}
-
-static void
-EquationSystemParserReset (pEquationSystemParser ctx)
-{
- RECOGNIZER->reset(RECOGNIZER);
-}
-
-/** Free the parser resources
- */
- static void
- EquationSystemParserFree(pEquationSystemParser ctx)
- {
- /* Free any scope memory
- */
-
-ctx->vectors->close(ctx->vectors);
-/* We created the adaptor so we must free it
- */
-ADAPTOR->free(ADAPTOR);
- // Free this parser
- //
- ctx->pParser->free(ctx->pParser);
-
-
- ANTLR3_FREE(ctx);
-
- /* Everything is released, so we can return
- */
- return;
- }
-
-/** Return token names used by this
-parser
-
- *
- * The returned pointer is used as an index into the token names table (using the token
- * number as the index).
- *
- * \return Pointer to first char * in the table.
- */
-static pANTLR3_UINT8 *getTokenNames()
-{
- return EquationSystemParserTokenNames;
-}
-
-
-/* Declare the bitsets
- */
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_equation_in_equation_system141 */
-static ANTLR3_BITWORD FOLLOW_equation_in_equation_system141_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) };
-static ANTLR3_BITSET_LIST FOLLOW_equation_in_equation_system141 = { FOLLOW_equation_in_equation_system141_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_NEWLINE_in_equation_system145 */
-static ANTLR3_BITWORD FOLLOW_NEWLINE_in_equation_system145_bits[] = { ANTLR3_UINT64_LIT(0x0000000000021000) };
-static ANTLR3_BITSET_LIST FOLLOW_NEWLINE_in_equation_system145 = { FOLLOW_NEWLINE_in_equation_system145_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_equation_in_equation_system150 */
-static ANTLR3_BITWORD FOLLOW_equation_in_equation_system150_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) };
-static ANTLR3_BITSET_LIST FOLLOW_equation_in_equation_system150 = { FOLLOW_equation_in_equation_system150_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_NEWLINE_in_equation_system157 */
-static ANTLR3_BITWORD FOLLOW_NEWLINE_in_equation_system157_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) };
-static ANTLR3_BITSET_LIST FOLLOW_NEWLINE_in_equation_system157 = { FOLLOW_NEWLINE_in_equation_system157_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARIABLE_in_equation168 */
-static ANTLR3_BITWORD FOLLOW_VARIABLE_in_equation168_bits[] = { ANTLR3_UINT64_LIT(0x0000000000400000) };
-static ANTLR3_BITSET_LIST FOLLOW_VARIABLE_in_equation168 = { FOLLOW_VARIABLE_in_equation168_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_22_in_equation170 */
-static ANTLR3_BITWORD FOLLOW_22_in_equation170_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2600) };
-static ANTLR3_BITSET_LIST FOLLOW_22_in_equation170 = { FOLLOW_22_in_equation170_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_maxExpr_in_equation173 */
-static ANTLR3_BITWORD FOLLOW_maxExpr_in_equation173_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_maxExpr_in_equation173 = { FOLLOW_maxExpr_in_equation173_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXIMUM_in_maxExpr182 */
-static ANTLR3_BITWORD FOLLOW_MAXIMUM_in_maxExpr182_bits[] = { ANTLR3_UINT64_LIT(0x0000000000080000) };
-static ANTLR3_BITSET_LIST FOLLOW_MAXIMUM_in_maxExpr182 = { FOLLOW_MAXIMUM_in_maxExpr182_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_maxExpr185 */
-static ANTLR3_BITWORD FOLLOW_19_in_maxExpr185_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2400) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_maxExpr185 = { FOLLOW_19_in_maxExpr185_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_minExpr_in_maxExpr188 */
-static ANTLR3_BITWORD FOLLOW_minExpr_in_maxExpr188_bits[] = { ANTLR3_UINT64_LIT(0x0000000000300000) };
-static ANTLR3_BITSET_LIST FOLLOW_minExpr_in_maxExpr188 = { FOLLOW_minExpr_in_maxExpr188_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_21_in_maxExpr192 */
-static ANTLR3_BITWORD FOLLOW_21_in_maxExpr192_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2400) };
-static ANTLR3_BITSET_LIST FOLLOW_21_in_maxExpr192 = { FOLLOW_21_in_maxExpr192_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_minExpr_in_maxExpr195 */
-static ANTLR3_BITWORD FOLLOW_minExpr_in_maxExpr195_bits[] = { ANTLR3_UINT64_LIT(0x0000000000300000) };
-static ANTLR3_BITSET_LIST FOLLOW_minExpr_in_maxExpr195 = { FOLLOW_minExpr_in_maxExpr195_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_maxExpr200 */
-static ANTLR3_BITWORD FOLLOW_20_in_maxExpr200_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_maxExpr200 = { FOLLOW_20_in_maxExpr200_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_minExpr_in_maxExpr205 */
-static ANTLR3_BITWORD FOLLOW_minExpr_in_maxExpr205_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_minExpr_in_maxExpr205 = { FOLLOW_minExpr_in_maxExpr205_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINIMUM_in_minExpr213 */
-static ANTLR3_BITWORD FOLLOW_MINIMUM_in_minExpr213_bits[] = { ANTLR3_UINT64_LIT(0x0000000000080000) };
-static ANTLR3_BITSET_LIST FOLLOW_MINIMUM_in_minExpr213 = { FOLLOW_MINIMUM_in_minExpr213_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_minExpr216 */
-static ANTLR3_BITWORD FOLLOW_19_in_minExpr216_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2600) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_minExpr216 = { FOLLOW_19_in_minExpr216_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_maxExpr_in_minExpr219 */
-static ANTLR3_BITWORD FOLLOW_maxExpr_in_minExpr219_bits[] = { ANTLR3_UINT64_LIT(0x0000000000300000) };
-static ANTLR3_BITSET_LIST FOLLOW_maxExpr_in_minExpr219 = { FOLLOW_maxExpr_in_minExpr219_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_21_in_minExpr223 */
-static ANTLR3_BITWORD FOLLOW_21_in_minExpr223_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2600) };
-static ANTLR3_BITSET_LIST FOLLOW_21_in_minExpr223 = { FOLLOW_21_in_minExpr223_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_maxExpr_in_minExpr226 */
-static ANTLR3_BITWORD FOLLOW_maxExpr_in_minExpr226_bits[] = { ANTLR3_UINT64_LIT(0x0000000000300000) };
-static ANTLR3_BITSET_LIST FOLLOW_maxExpr_in_minExpr226 = { FOLLOW_maxExpr_in_minExpr226_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_minExpr231 */
-static ANTLR3_BITWORD FOLLOW_20_in_minExpr231_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_minExpr231 = { FOLLOW_20_in_minExpr231_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_minExpr236 */
-static ANTLR3_BITWORD FOLLOW_expr_in_minExpr236_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_minExpr236 = { FOLLOW_expr_in_minExpr236_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_expr245 */
-static ANTLR3_BITWORD FOLLOW_19_in_expr245_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_expr245 = { FOLLOW_19_in_expr245_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_expr247 */
-static ANTLR3_BITWORD FOLLOW_expr_in_expr247_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000040) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_expr247 = { FOLLOW_expr_in_expr247_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_GREATER_EQUAL_in_expr249 */
-static ANTLR3_BITWORD FOLLOW_GREATER_EQUAL_in_expr249_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_GREATER_EQUAL_in_expr249 = { FOLLOW_GREATER_EQUAL_in_expr249_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_expr251 */
-static ANTLR3_BITWORD FOLLOW_expr_in_expr251_bits[] = { ANTLR3_UINT64_LIT(0x0000000000008000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_expr251 = { FOLLOW_expr_in_expr251_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUESTION_MARK_in_expr253 */
-static ANTLR3_BITWORD FOLLOW_QUESTION_MARK_in_expr253_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_QUESTION_MARK_in_expr253 = { FOLLOW_QUESTION_MARK_in_expr253_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_expr255 */
-static ANTLR3_BITWORD FOLLOW_expr_in_expr255_bits[] = { ANTLR3_UINT64_LIT(0x0000000000100000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_expr255 = { FOLLOW_expr_in_expr255_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_expr257 */
-static ANTLR3_BITWORD FOLLOW_20_in_expr257_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_expr257 = { FOLLOW_20_in_expr257_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_term_in_expr278 */
-static ANTLR3_BITWORD FOLLOW_term_in_expr278_bits[] = { ANTLR3_UINT64_LIT(0x0000000000014812) };
-static ANTLR3_BITSET_LIST FOLLOW_term_in_expr278 = { FOLLOW_term_in_expr278_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_expr282 */
-static ANTLR3_BITWORD FOLLOW_set_in_expr282_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_set_in_expr282 = { FOLLOW_set_in_expr282_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_expr299 */
-static ANTLR3_BITWORD FOLLOW_expr_in_expr299_bits[] = { ANTLR3_UINT64_LIT(0x0000000000014812) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_expr299 = { FOLLOW_expr_in_expr299_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_NUMBER_in_term311 */
-static ANTLR3_BITWORD FOLLOW_NUMBER_in_term311_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_NUMBER_in_term311 = { FOLLOW_NUMBER_in_term311_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARIABLE_in_term320 */
-static ANTLR3_BITWORD FOLLOW_VARIABLE_in_term320_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_VARIABLE_in_term320 = { FOLLOW_VARIABLE_in_term320_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUB_in_term329 */
-static ANTLR3_BITWORD FOLLOW_SUB_in_term329_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_SUB_in_term329 = { FOLLOW_SUB_in_term329_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_term_in_term332 */
-static ANTLR3_BITWORD FOLLOW_term_in_term332_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_term_in_term332 = { FOLLOW_term_in_term332_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_term341 */
-static ANTLR3_BITWORD FOLLOW_19_in_term341_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_term341 = { FOLLOW_19_in_term341_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_term344 */
-static ANTLR3_BITWORD FOLLOW_expr_in_term344_bits[] = { ANTLR3_UINT64_LIT(0x0000000000100000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_term344 = { FOLLOW_expr_in_term344_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_term346 */
-static ANTLR3_BITWORD FOLLOW_20_in_term346_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_term346 = { FOLLOW_20_in_term346_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_19_in_synpred8_EquationSystem245 */
-static ANTLR3_BITWORD FOLLOW_19_in_synpred8_EquationSystem245_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_19_in_synpred8_EquationSystem245 = { FOLLOW_19_in_synpred8_EquationSystem245_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_synpred8_EquationSystem247 */
-static ANTLR3_BITWORD FOLLOW_expr_in_synpred8_EquationSystem247_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000040) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_synpred8_EquationSystem247 = { FOLLOW_expr_in_synpred8_EquationSystem247_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249 */
-static ANTLR3_BITWORD FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249 = { FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_synpred8_EquationSystem251 */
-static ANTLR3_BITWORD FOLLOW_expr_in_synpred8_EquationSystem251_bits[] = { ANTLR3_UINT64_LIT(0x0000000000008000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_synpred8_EquationSystem251 = { FOLLOW_expr_in_synpred8_EquationSystem251_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253 */
-static ANTLR3_BITWORD FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253 = { FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_synpred8_EquationSystem255 */
-static ANTLR3_BITWORD FOLLOW_expr_in_synpred8_EquationSystem255_bits[] = { ANTLR3_UINT64_LIT(0x0000000000100000) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_synpred8_EquationSystem255 = { FOLLOW_expr_in_synpred8_EquationSystem255_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_20_in_synpred8_EquationSystem257 */
-static ANTLR3_BITWORD FOLLOW_20_in_synpred8_EquationSystem257_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_20_in_synpred8_EquationSystem257 = { FOLLOW_20_in_synpred8_EquationSystem257_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_synpred12_EquationSystem282 */
-static ANTLR3_BITWORD FOLLOW_set_in_synpred12_EquationSystem282_bits[] = { ANTLR3_UINT64_LIT(0x00000000000B2000) };
-static ANTLR3_BITSET_LIST FOLLOW_set_in_synpred12_EquationSystem282 = { FOLLOW_set_in_synpred12_EquationSystem282_bits, 1 };
-/** Bitset defining follow set for error recovery in rule state: FOLLOW_expr_in_synpred12_EquationSystem299 */
-static ANTLR3_BITWORD FOLLOW_expr_in_synpred12_EquationSystem299_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-static ANTLR3_BITSET_LIST FOLLOW_expr_in_synpred12_EquationSystem299 = { FOLLOW_expr_in_synpred12_EquationSystem299_bits, 1 };
-
-
-
-/* =========================================================================
- * DFA tables for the parser
- */
-/** Static dfa state tables for Cyclic dfa:
- * ()* loopback of 22:28: ( ( NEWLINE !)+ equation )*
- */
-static const ANTLR3_INT32 dfa2_eot[4] =
- {
- -1, -1, -1, -1
- };
-static const ANTLR3_INT32 dfa2_eof[4] =
- {
- 2, 2, -1, -1
- };
-static const ANTLR3_INT32 dfa2_min[4] =
- {
- 12, 12, -1, -1
- };
-static const ANTLR3_INT32 dfa2_max[4] =
- {
- 12, 17, -1, -1
- };
-static const ANTLR3_INT32 dfa2_accept[4] =
- {
- -1, -1, 2, 1
- };
-static const ANTLR3_INT32 dfa2_special[4] =
- {
- -1, -1, -1, -1
- };
-
-/** Used when there is no transition table entry for a particular state */
-#define dfa2_T_empty NULL
-
-static const ANTLR3_INT32 dfa2_T0[] =
- {
- 1
- };
-
-static const ANTLR3_INT32 dfa2_T1[] =
- {
- 1, -1, -1, -1, -1, 3
- };
-
-
-/* Transition tables are a table of sub tables, with some tables
- * reused for efficiency.
- */
-static const ANTLR3_INT32 * const dfa2_transitions[] =
-{
- dfa2_T0, dfa2_T1, NULL, NULL
-};
-
-
-/* Declare tracking structure for Cyclic DFA 2
- */
-static
-ANTLR3_CYCLIC_DFA cdfa2
- = {
- 2, /* Decision number of this dfa */
- /* Which decision this represents: */
- (const pANTLR3_UCHAR)"()* loopback of 22:28: ( ( NEWLINE !)+ equation )*",
- (CDFA_SPECIAL_FUNC) antlr3dfaspecialStateTransition, /* Default special state transition function */
-
- antlr3dfaspecialTransition, /* DFA specialTransition is currently just a default function in the runtime */
- antlr3dfapredict, /* DFA simulator function is in the runtime */
- dfa2_eot, /* EOT table */
- dfa2_eof, /* EOF table */
- dfa2_min, /* Minimum tokens for each state */
- dfa2_max, /* Maximum tokens for each state */
- dfa2_accept, /* Accept table */
- dfa2_special, /* Special transition states */
- dfa2_transitions /* Table of transition tables */
-
- };
-/* End of Cyclic DFA 2
- * ---------------------
- */
-/* =========================================================================
- * End of DFA tables for the parser
- */
-
-/* ==============================================
- * Parsing rules
- */
-/**
- * $ANTLR start equation_system
- * EquationSystem.g:22:1: equation_system : equation ( ( NEWLINE !)+ equation )* ( NEWLINE !)* ;
- */
-static EquationSystemParser_equation_system_return
-equation_system(pEquationSystemParser ctx)
-{
- EquationSystemParser_equation_system_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN NEWLINE2;
- pANTLR3_COMMON_TOKEN NEWLINE4;
- EquationSystemParser_equation_return equation1;
- #undef RETURN_TYPE_equation1
- #define RETURN_TYPE_equation1 EquationSystemParser_equation_return
-
- EquationSystemParser_equation_return equation3;
- #undef RETURN_TYPE_equation3
- #define RETURN_TYPE_equation3 EquationSystemParser_equation_return
-
- pANTLR3_BASE_TREE NEWLINE2_tree;
- pANTLR3_BASE_TREE NEWLINE4_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- NEWLINE2 = NULL;
- NEWLINE4 = NULL;
- equation1.tree = NULL;
-
- equation3.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- NEWLINE2_tree = NULL;
- NEWLINE4_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- // EquationSystem.g:22:17: ( equation ( ( NEWLINE !)+ equation )* ( NEWLINE !)* )
- // EquationSystem.g:22:19: equation ( ( NEWLINE !)+ equation )* ( NEWLINE !)*
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- FOLLOWPUSH(FOLLOW_equation_in_equation_system141);
- equation1=equation(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equation1.tree);
-
- // EquationSystem.g:22:28: ( ( NEWLINE !)+ equation )*
-
- for (;;)
- {
- int alt2=2;
- alt2 = cdfa2.predict(ctx, RECOGNIZER, ISTREAM, &cdfa2);
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- switch (alt2)
- {
- case 1:
- // EquationSystem.g:22:30: ( NEWLINE !)+ equation
- {
- // EquationSystem.g:22:37: ( NEWLINE !)+
- {
- int cnt1=0;
-
- for (;;)
- {
- int alt1=2;
- switch ( LA(1) )
- {
- case NEWLINE:
- {
- alt1=1;
- }
- break;
-
- }
-
- switch (alt1)
- {
- case 1:
- // EquationSystem.g:22:37: NEWLINE !
- {
- NEWLINE2 = (pANTLR3_COMMON_TOKEN) MATCHT(NEWLINE, &FOLLOW_NEWLINE_in_equation_system145);
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
-
- default:
-
- if ( cnt1 >= 1 )
- {
- goto loop1;
- }
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- /* mismatchedSetEx()
- */
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;
-
-
- goto ruleequation_systemEx;
- }
- cnt1++;
- }
- loop1: ; /* Jump to here if this rule does not match */
- }
-
- FOLLOWPUSH(FOLLOW_equation_in_equation_system150);
- equation3=equation(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equation3.tree);
-
- }
- break;
-
- default:
- goto loop2; /* break out of the loop */
- break;
- }
- }
- loop2: ; /* Jump out to here if this rule does not match */
-
-
- // EquationSystem.g:22:54: ( NEWLINE !)*
-
- for (;;)
- {
- int alt3=2;
- switch ( LA(1) )
- {
- case NEWLINE:
- {
- alt3=1;
- }
- break;
-
- }
-
- switch (alt3)
- {
- case 1:
- // EquationSystem.g:22:55: NEWLINE !
- {
- NEWLINE4 = (pANTLR3_COMMON_TOKEN) MATCHT(NEWLINE, &FOLLOW_NEWLINE_in_equation_system157);
- if (HASEXCEPTION())
- {
- goto ruleequation_systemEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
-
- default:
- goto loop3; /* break out of the loop */
- break;
- }
- }
- loop3: ; /* Jump out to here if this rule does not match */
-
-
- }
-
- }
-
- // This is where rules clean up and exit
- //
- goto ruleequation_systemEx; /* Prevent compiler warnings */
- ruleequation_systemEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end equation_system */
-
-/**
- * $ANTLR start equation
- * EquationSystem.g:23:1: equation : VARIABLE '=' ! maxExpr ;
- */
-static EquationSystemParser_equation_return
-equation(pEquationSystemParser ctx)
-{
- EquationSystemParser_equation_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN VARIABLE5;
- pANTLR3_COMMON_TOKEN char_literal6;
- EquationSystemParser_maxExpr_return maxExpr7;
- #undef RETURN_TYPE_maxExpr7
- #define RETURN_TYPE_maxExpr7 EquationSystemParser_maxExpr_return
-
- pANTLR3_BASE_TREE VARIABLE5_tree;
- pANTLR3_BASE_TREE char_literal6_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- VARIABLE5 = NULL;
- char_literal6 = NULL;
- maxExpr7.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- VARIABLE5_tree = NULL;
- char_literal6_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- // EquationSystem.g:23:10: ( VARIABLE '=' ! maxExpr )
- // EquationSystem.g:23:12: VARIABLE '=' ! maxExpr
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- VARIABLE5 = (pANTLR3_COMMON_TOKEN) MATCHT(VARIABLE, &FOLLOW_VARIABLE_in_equation168);
- if (HASEXCEPTION())
- {
- goto ruleequationEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- VARIABLE5_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARIABLE5));
- ADAPTOR->addChild(ADAPTOR, root_0, VARIABLE5_tree);
- }
-
- char_literal6 = (pANTLR3_COMMON_TOKEN) MATCHT(22, &FOLLOW_22_in_equation170);
- if (HASEXCEPTION())
- {
- goto ruleequationEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_maxExpr_in_equation173);
- maxExpr7=maxExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleequationEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, maxExpr7.tree);
-
- }
-
- }
-
- // This is where rules clean up and exit
- //
- goto ruleequationEx; /* Prevent compiler warnings */
- ruleequationEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end equation */
-
-/**
- * $ANTLR start maxExpr
- * EquationSystem.g:25:1: maxExpr : ( MAXIMUM ^ '(' ! minExpr ( ',' ! minExpr )* ')' !| minExpr );
- */
-static EquationSystemParser_maxExpr_return
-maxExpr(pEquationSystemParser ctx)
-{
- EquationSystemParser_maxExpr_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN MAXIMUM8;
- pANTLR3_COMMON_TOKEN char_literal9;
- pANTLR3_COMMON_TOKEN char_literal11;
- pANTLR3_COMMON_TOKEN char_literal13;
- EquationSystemParser_minExpr_return minExpr10;
- #undef RETURN_TYPE_minExpr10
- #define RETURN_TYPE_minExpr10 EquationSystemParser_minExpr_return
-
- EquationSystemParser_minExpr_return minExpr12;
- #undef RETURN_TYPE_minExpr12
- #define RETURN_TYPE_minExpr12 EquationSystemParser_minExpr_return
-
- EquationSystemParser_minExpr_return minExpr14;
- #undef RETURN_TYPE_minExpr14
- #define RETURN_TYPE_minExpr14 EquationSystemParser_minExpr_return
-
- pANTLR3_BASE_TREE MAXIMUM8_tree;
- pANTLR3_BASE_TREE char_literal9_tree;
- pANTLR3_BASE_TREE char_literal11_tree;
- pANTLR3_BASE_TREE char_literal13_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- MAXIMUM8 = NULL;
- char_literal9 = NULL;
- char_literal11 = NULL;
- char_literal13 = NULL;
- minExpr10.tree = NULL;
-
- minExpr12.tree = NULL;
-
- minExpr14.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- MAXIMUM8_tree = NULL;
- char_literal9_tree = NULL;
- char_literal11_tree = NULL;
- char_literal13_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- {
- // EquationSystem.g:25:9: ( MAXIMUM ^ '(' ! minExpr ( ',' ! minExpr )* ')' !| minExpr )
-
- ANTLR3_UINT32 alt5;
-
- alt5=2;
-
- switch ( LA(1) )
- {
- case MAXIMUM:
- {
- alt5=1;
- }
- break;
- case MINIMUM:
- case NUMBER:
- case SUB:
- case VARIABLE:
- case 19:
- {
- alt5=2;
- }
- break;
-
- default:
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 5;
- EXCEPTION->state = 0;
-
-
- goto rulemaxExprEx;
-
- }
-
- switch (alt5)
- {
- case 1:
- // EquationSystem.g:25:11: MAXIMUM ^ '(' ! minExpr ( ',' ! minExpr )* ')' !
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- MAXIMUM8 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXIMUM, &FOLLOW_MAXIMUM_in_maxExpr182);
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- MAXIMUM8_tree =
- (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXIMUM8))
- ;
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, MAXIMUM8_tree, root_0));
- }
-
- char_literal9 = (pANTLR3_COMMON_TOKEN) MATCHT(19, &FOLLOW_19_in_maxExpr185);
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_minExpr_in_maxExpr188);
- minExpr10=minExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, minExpr10.tree);
-
- // EquationSystem.g:25:33: ( ',' ! minExpr )*
-
- for (;;)
- {
- int alt4=2;
- switch ( LA(1) )
- {
- case 21:
- {
- alt4=1;
- }
- break;
-
- }
-
- switch (alt4)
- {
- case 1:
- // EquationSystem.g:25:35: ',' ! minExpr
- {
- char_literal11 = (pANTLR3_COMMON_TOKEN) MATCHT(21, &FOLLOW_21_in_maxExpr192);
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_minExpr_in_maxExpr195);
- minExpr12=minExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, minExpr12.tree);
-
- }
- break;
-
- default:
- goto loop4; /* break out of the loop */
- break;
- }
- }
- loop4: ; /* Jump out to here if this rule does not match */
-
-
- char_literal13 = (pANTLR3_COMMON_TOKEN) MATCHT(20, &FOLLOW_20_in_maxExpr200);
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
- case 2:
- // EquationSystem.g:25:58: minExpr
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- FOLLOWPUSH(FOLLOW_minExpr_in_maxExpr205);
- minExpr14=minExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulemaxExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, minExpr14.tree);
-
- }
- break;
-
- }
- }
- }
-
- // This is where rules clean up and exit
- //
- goto rulemaxExprEx; /* Prevent compiler warnings */
- rulemaxExprEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end maxExpr */
-
-/**
- * $ANTLR start minExpr
- * EquationSystem.g:26:1: minExpr : ( MINIMUM ^ '(' ! maxExpr ( ',' ! maxExpr )* ')' !| expr );
- */
-static EquationSystemParser_minExpr_return
-minExpr(pEquationSystemParser ctx)
-{
- EquationSystemParser_minExpr_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN MINIMUM15;
- pANTLR3_COMMON_TOKEN char_literal16;
- pANTLR3_COMMON_TOKEN char_literal18;
- pANTLR3_COMMON_TOKEN char_literal20;
- EquationSystemParser_maxExpr_return maxExpr17;
- #undef RETURN_TYPE_maxExpr17
- #define RETURN_TYPE_maxExpr17 EquationSystemParser_maxExpr_return
-
- EquationSystemParser_maxExpr_return maxExpr19;
- #undef RETURN_TYPE_maxExpr19
- #define RETURN_TYPE_maxExpr19 EquationSystemParser_maxExpr_return
-
- EquationSystemParser_expr_return expr21;
- #undef RETURN_TYPE_expr21
- #define RETURN_TYPE_expr21 EquationSystemParser_expr_return
-
- pANTLR3_BASE_TREE MINIMUM15_tree;
- pANTLR3_BASE_TREE char_literal16_tree;
- pANTLR3_BASE_TREE char_literal18_tree;
- pANTLR3_BASE_TREE char_literal20_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- MINIMUM15 = NULL;
- char_literal16 = NULL;
- char_literal18 = NULL;
- char_literal20 = NULL;
- maxExpr17.tree = NULL;
-
- maxExpr19.tree = NULL;
-
- expr21.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- MINIMUM15_tree = NULL;
- char_literal16_tree = NULL;
- char_literal18_tree = NULL;
- char_literal20_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- {
- // EquationSystem.g:26:9: ( MINIMUM ^ '(' ! maxExpr ( ',' ! maxExpr )* ')' !| expr )
-
- ANTLR3_UINT32 alt7;
-
- alt7=2;
-
- switch ( LA(1) )
- {
- case MINIMUM:
- {
- alt7=1;
- }
- break;
- case NUMBER:
- case SUB:
- case VARIABLE:
- case 19:
- {
- alt7=2;
- }
- break;
-
- default:
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 7;
- EXCEPTION->state = 0;
-
-
- goto ruleminExprEx;
-
- }
-
- switch (alt7)
- {
- case 1:
- // EquationSystem.g:26:11: MINIMUM ^ '(' ! maxExpr ( ',' ! maxExpr )* ')' !
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- MINIMUM15 = (pANTLR3_COMMON_TOKEN) MATCHT(MINIMUM, &FOLLOW_MINIMUM_in_minExpr213);
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- MINIMUM15_tree =
- (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINIMUM15))
- ;
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, MINIMUM15_tree, root_0));
- }
-
- char_literal16 = (pANTLR3_COMMON_TOKEN) MATCHT(19, &FOLLOW_19_in_minExpr216);
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_maxExpr_in_minExpr219);
- maxExpr17=maxExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, maxExpr17.tree);
-
- // EquationSystem.g:26:33: ( ',' ! maxExpr )*
-
- for (;;)
- {
- int alt6=2;
- switch ( LA(1) )
- {
- case 21:
- {
- alt6=1;
- }
- break;
-
- }
-
- switch (alt6)
- {
- case 1:
- // EquationSystem.g:26:35: ',' ! maxExpr
- {
- char_literal18 = (pANTLR3_COMMON_TOKEN) MATCHT(21, &FOLLOW_21_in_minExpr223);
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_maxExpr_in_minExpr226);
- maxExpr19=maxExpr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, maxExpr19.tree);
-
- }
- break;
-
- default:
- goto loop6; /* break out of the loop */
- break;
- }
- }
- loop6: ; /* Jump out to here if this rule does not match */
-
-
- char_literal20 = (pANTLR3_COMMON_TOKEN) MATCHT(20, &FOLLOW_20_in_minExpr231);
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
- case 2:
- // EquationSystem.g:26:58: expr
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- FOLLOWPUSH(FOLLOW_expr_in_minExpr236);
- expr21=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleminExprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expr21.tree);
-
- }
- break;
-
- }
- }
- }
-
- // This is where rules clean up and exit
- //
- goto ruleminExprEx; /* Prevent compiler warnings */
- ruleminExprEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end minExpr */
-
-/**
- * $ANTLR start expr
- * EquationSystem.g:28:1: expr : ( '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')' -> ^( GUARD expr expr expr ) | term ( ( PLUS | MULT | SUB | COMMA ) ^ expr )* );
- */
-static EquationSystemParser_expr_return
-expr(pEquationSystemParser ctx)
-{
- EquationSystemParser_expr_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN char_literal22;
- pANTLR3_COMMON_TOKEN GREATER_EQUAL24;
- pANTLR3_COMMON_TOKEN QUESTION_MARK26;
- pANTLR3_COMMON_TOKEN char_literal28;
- pANTLR3_COMMON_TOKEN set30;
- EquationSystemParser_expr_return expr23;
- #undef RETURN_TYPE_expr23
- #define RETURN_TYPE_expr23 EquationSystemParser_expr_return
-
- EquationSystemParser_expr_return expr25;
- #undef RETURN_TYPE_expr25
- #define RETURN_TYPE_expr25 EquationSystemParser_expr_return
-
- EquationSystemParser_expr_return expr27;
- #undef RETURN_TYPE_expr27
- #define RETURN_TYPE_expr27 EquationSystemParser_expr_return
-
- EquationSystemParser_term_return term29;
- #undef RETURN_TYPE_term29
- #define RETURN_TYPE_term29 EquationSystemParser_term_return
-
- EquationSystemParser_expr_return expr31;
- #undef RETURN_TYPE_expr31
- #define RETURN_TYPE_expr31 EquationSystemParser_expr_return
-
- pANTLR3_BASE_TREE char_literal22_tree;
- pANTLR3_BASE_TREE GREATER_EQUAL24_tree;
- pANTLR3_BASE_TREE QUESTION_MARK26_tree;
- pANTLR3_BASE_TREE char_literal28_tree;
- pANTLR3_BASE_TREE set30_tree;
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_20;
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_19;
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_GREATER_EQUAL;
- pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_QUESTION_MARK;
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_expr;
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- char_literal22 = NULL;
- GREATER_EQUAL24 = NULL;
- QUESTION_MARK26 = NULL;
- char_literal28 = NULL;
- set30 = NULL;
- expr23.tree = NULL;
-
- expr25.tree = NULL;
-
- expr27.tree = NULL;
-
- term29.tree = NULL;
-
- expr31.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- char_literal22_tree = NULL;
- GREATER_EQUAL24_tree = NULL;
- QUESTION_MARK26_tree = NULL;
- char_literal28_tree = NULL;
- set30_tree = NULL;
-
- stream_20 = NULL;
- #define CREATE_stream_20 if (stream_20 == NULL) {stream_20 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 20"); }
- stream_19 = NULL;
- #define CREATE_stream_19 if (stream_19 == NULL) {stream_19 = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token 19"); }
- stream_GREATER_EQUAL = NULL;
- #define CREATE_stream_GREATER_EQUAL if (stream_GREATER_EQUAL == NULL) {stream_GREATER_EQUAL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token GREATER_EQUAL"); }
- stream_QUESTION_MARK = NULL;
- #define CREATE_stream_QUESTION_MARK if (stream_QUESTION_MARK == NULL) {stream_QUESTION_MARK = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token QUESTION_MARK"); }
- stream_expr = NULL;
- #define CREATE_stream_expr if (stream_expr == NULL) {stream_expr = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule expr"); }
-
- retval.tree = NULL;
-
- {
- {
- // EquationSystem.g:28:6: ( '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')' -> ^( GUARD expr expr expr ) | term ( ( PLUS | MULT | SUB | COMMA ) ^ expr )* )
-
- ANTLR3_UINT32 alt9;
-
- alt9=2;
-
- switch ( LA(1) )
- {
- case 19:
- {
- {
- int LA9_1 = LA(2);
- if ( (synpred8_EquationSystem(ctx)))
- {
- alt9=1;
- }
- else if ( (ANTLR3_TRUE))
- {
- alt9=2;
- }
- else
- {
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 9;
- EXCEPTION->state = 1;
-
-
- goto ruleexprEx;
-
- }
- }
- }
- break;
- case NUMBER:
- case SUB:
- case VARIABLE:
- {
- alt9=2;
- }
- break;
-
- default:
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 9;
- EXCEPTION->state = 0;
-
-
- goto ruleexprEx;
-
- }
-
- switch (alt9)
- {
- case 1:
- // EquationSystem.g:28:8: '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')'
- {
- char_literal22 = (pANTLR3_COMMON_TOKEN) MATCHT(19, &FOLLOW_19_in_expr245);
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_19; stream_19->add(stream_19, char_literal22, NULL); }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_expr247);
- expr23=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_expr; stream_expr->add(stream_expr, expr23.tree, NULL); }
-
- GREATER_EQUAL24 = (pANTLR3_COMMON_TOKEN) MATCHT(GREATER_EQUAL, &FOLLOW_GREATER_EQUAL_in_expr249);
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_GREATER_EQUAL; stream_GREATER_EQUAL->add(stream_GREATER_EQUAL, GREATER_EQUAL24, NULL); }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_expr251);
- expr25=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_expr; stream_expr->add(stream_expr, expr25.tree, NULL); }
-
- QUESTION_MARK26 = (pANTLR3_COMMON_TOKEN) MATCHT(QUESTION_MARK, &FOLLOW_QUESTION_MARK_in_expr253);
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_QUESTION_MARK; stream_QUESTION_MARK->add(stream_QUESTION_MARK, QUESTION_MARK26, NULL); }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_expr255);
- expr27=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_expr; stream_expr->add(stream_expr, expr27.tree, NULL); }
-
- char_literal28 = (pANTLR3_COMMON_TOKEN) MATCHT(20, &FOLLOW_20_in_expr257);
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) { CREATE_stream_20; stream_20->add(stream_20, char_literal28, NULL); }
-
-
- /* AST REWRITE
- * elements : expr, expr, expr
- * token labels :
- * rule labels : retval
- * token list labels :
- * rule list labels :
- */
- if ( BACKTRACKING==0 )
-
- {
- pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;
-
- stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);
-
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
- retval.tree = root_0;
- // 28:59: -> ^( GUARD expr expr expr )
- {
- // EquationSystem.g:28:62: ^( GUARD expr expr expr )
- {
- pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
- root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR,
- (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, GUARD, (pANTLR3_UINT8)"GUARD")
- , root_1));
-
- ADAPTOR->addChild(ADAPTOR, root_1, stream_expr == NULL ? NULL : stream_expr->nextTree(stream_expr));
-
- ADAPTOR->addChild(ADAPTOR, root_1, stream_expr == NULL ? NULL : stream_expr->nextTree(stream_expr));
-
- ADAPTOR->addChild(ADAPTOR, root_1, stream_expr == NULL ? NULL : stream_expr->nextTree(stream_expr));
-
- ADAPTOR->addChild(ADAPTOR, root_0, root_1);
- }
-
- }
-
-
- retval.tree = root_0; // set result root
- if (stream_retval != NULL) stream_retval->free(stream_retval);
-
-
- }
- }
- break;
- case 2:
- // EquationSystem.g:29:8: term ( ( PLUS | MULT | SUB | COMMA ) ^ expr )*
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- FOLLOWPUSH(FOLLOW_term_in_expr278);
- term29=term(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, term29.tree);
-
- // EquationSystem.g:29:13: ( ( PLUS | MULT | SUB | COMMA ) ^ expr )*
-
- for (;;)
- {
- int alt8=2;
- switch ( LA(1) )
- {
- case COMMA:
- case MULT:
- case PLUS:
- case SUB:
- {
- {
- /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
- */
- int LA8_2 = LA(2);
- if ( (synpred12_EquationSystem(ctx)))
- {
- alt8=1;
- }
-
- }
- }
- break;
-
- }
-
- switch (alt8)
- {
- case 1:
- // EquationSystem.g:29:15: ( PLUS | MULT | SUB | COMMA ) ^ expr
- {
- set30=(pANTLR3_COMMON_TOKEN)LT(1);
-
- set30=(pANTLR3_COMMON_TOKEN)LT(1);
-
- if ( LA(1) == COMMA || LA(1) == MULT || LA(1) == PLUS || LA(1) == SUB )
- {
- CONSUME();
- if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR,
- (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set30))
- , root_0));
- PERRORRECOVERY=ANTLR3_FALSE;
- FAILEDFLAG=ANTLR3_FALSE;
-
- }
- else
- {
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
- EXCEPTION->expectingSet = NULL;
-
- goto ruleexprEx;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_expr299);
- expr31=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruleexprEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expr31.tree);
-
- }
- break;
-
- default:
- goto loop8; /* break out of the loop */
- break;
- }
- }
- loop8: ; /* Jump out to here if this rule does not match */
-
-
- }
- break;
-
- }
- }
- }
-
- // This is where rules clean up and exit
- //
- goto ruleexprEx; /* Prevent compiler warnings */
- ruleexprEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- if (stream_20 != NULL) stream_20->free(stream_20);
- if (stream_19 != NULL) stream_19->free(stream_19);
- if (stream_GREATER_EQUAL != NULL) stream_GREATER_EQUAL->free(stream_GREATER_EQUAL);
- if (stream_QUESTION_MARK != NULL) stream_QUESTION_MARK->free(stream_QUESTION_MARK);
- if (stream_expr != NULL) stream_expr->free(stream_expr);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end expr */
-
-/**
- * $ANTLR start term
- * EquationSystem.g:31:1: term : ( NUMBER | VARIABLE | '-' ^ term | '(' ! expr ')' !);
- */
-static EquationSystemParser_term_return
-term(pEquationSystemParser ctx)
-{
- EquationSystemParser_term_return retval;
-
-
- pANTLR3_BASE_TREE root_0;
-
- pANTLR3_COMMON_TOKEN NUMBER32;
- pANTLR3_COMMON_TOKEN VARIABLE33;
- pANTLR3_COMMON_TOKEN char_literal34;
- pANTLR3_COMMON_TOKEN char_literal36;
- pANTLR3_COMMON_TOKEN char_literal38;
- EquationSystemParser_term_return term35;
- #undef RETURN_TYPE_term35
- #define RETURN_TYPE_term35 EquationSystemParser_term_return
-
- EquationSystemParser_expr_return expr37;
- #undef RETURN_TYPE_expr37
- #define RETURN_TYPE_expr37 EquationSystemParser_expr_return
-
- pANTLR3_BASE_TREE NUMBER32_tree;
- pANTLR3_BASE_TREE VARIABLE33_tree;
- pANTLR3_BASE_TREE char_literal34_tree;
- pANTLR3_BASE_TREE char_literal36_tree;
- pANTLR3_BASE_TREE char_literal38_tree;
-
- /* Initialize rule variables
- */
-
- root_0 = NULL;
-
- NUMBER32 = NULL;
- VARIABLE33 = NULL;
- char_literal34 = NULL;
- char_literal36 = NULL;
- char_literal38 = NULL;
- term35.tree = NULL;
-
- expr37.tree = NULL;
- retval.start = LT(1); retval.stop = retval.start;
-
-
- NUMBER32_tree = NULL;
- VARIABLE33_tree = NULL;
- char_literal34_tree = NULL;
- char_literal36_tree = NULL;
- char_literal38_tree = NULL;
-
-
- retval.tree = NULL;
-
- {
- {
- // EquationSystem.g:31:6: ( NUMBER | VARIABLE | '-' ^ term | '(' ! expr ')' !)
-
- ANTLR3_UINT32 alt10;
-
- alt10=4;
-
- switch ( LA(1) )
- {
- case NUMBER:
- {
- alt10=1;
- }
- break;
- case VARIABLE:
- {
- alt10=2;
- }
- break;
- case SUB:
- {
- alt10=3;
- }
- break;
- case 19:
- {
- alt10=4;
- }
- break;
-
- default:
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return retval;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
- EXCEPTION->message = (void *)"";
- EXCEPTION->decisionNum = 10;
- EXCEPTION->state = 0;
-
-
- goto ruletermEx;
-
- }
-
- switch (alt10)
- {
- case 1:
- // EquationSystem.g:31:8: NUMBER
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- NUMBER32 = (pANTLR3_COMMON_TOKEN) MATCHT(NUMBER, &FOLLOW_NUMBER_in_term311);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- NUMBER32_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NUMBER32));
- ADAPTOR->addChild(ADAPTOR, root_0, NUMBER32_tree);
- }
-
- }
- break;
- case 2:
- // EquationSystem.g:32:8: VARIABLE
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- VARIABLE33 = (pANTLR3_COMMON_TOKEN) MATCHT(VARIABLE, &FOLLOW_VARIABLE_in_term320);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- VARIABLE33_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARIABLE33));
- ADAPTOR->addChild(ADAPTOR, root_0, VARIABLE33_tree);
- }
-
- }
- break;
- case 3:
- // EquationSystem.g:33:8: '-' ^ term
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- char_literal34 = (pANTLR3_COMMON_TOKEN) MATCHT(SUB, &FOLLOW_SUB_in_term329);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) {
- char_literal34_tree =
- (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, char_literal34))
- ;
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, char_literal34_tree, root_0));
- }
-
- FOLLOWPUSH(FOLLOW_term_in_term332);
- term35=term(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, term35.tree);
-
- }
- break;
- case 4:
- // EquationSystem.g:34:8: '(' ! expr ')' !
- {
- root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
-
-
- char_literal36 = (pANTLR3_COMMON_TOKEN) MATCHT(19, &FOLLOW_19_in_term341);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_term344);
- expr37=expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
- if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expr37.tree);
-
- char_literal38 = (pANTLR3_COMMON_TOKEN) MATCHT(20, &FOLLOW_20_in_term346);
- if (HASEXCEPTION())
- {
- goto ruletermEx;
- }
- if (HASFAILED())
- {
- return retval;
- }
-
-
- }
- break;
-
- }
- }
- }
-
- // This is where rules clean up and exit
- //
- goto ruletermEx; /* Prevent compiler warnings */
- ruletermEx: ;
- retval.stop = LT(-1);
-
-
- if ( BACKTRACKING==0 )
- {
-
- retval.stop = LT(-1);
-
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
- ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
- }
-
-
- if (HASEXCEPTION())
- {
- PREPORTERROR();
- PRECOVER();
- retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
- }
- return retval;
-}
-/* $ANTLR end term */
-
-// $ANTLR start synpred8_EquationSystem
-static void synpred8_EquationSystem_fragment(pEquationSystemParser ctx )
-{
- // EquationSystem.g:28:8: ( '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')' )
- // EquationSystem.g:28:8: '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')'
- {
- MATCHT(19, &FOLLOW_19_in_synpred8_EquationSystem245);
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_synpred8_EquationSystem247);
- expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- MATCHT(GREATER_EQUAL, &FOLLOW_GREATER_EQUAL_in_synpred8_EquationSystem249);
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_synpred8_EquationSystem251);
- expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- MATCHT(QUESTION_MARK, &FOLLOW_QUESTION_MARK_in_synpred8_EquationSystem253);
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_synpred8_EquationSystem255);
- expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- MATCHT(20, &FOLLOW_20_in_synpred8_EquationSystem257);
- if (HASEXCEPTION())
- {
- goto rulesynpred8_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- }
-
-// This is where rules clean up and exit
-//
-goto rulesynpred8_EquationSystemEx; /* Prevent compiler warnings */
-rulesynpred8_EquationSystemEx: ;
-
-}
-// $ANTLR end synpred8_EquationSystem
-
-// $ANTLR start synpred12_EquationSystem
-static void synpred12_EquationSystem_fragment(pEquationSystemParser ctx )
-{
- // EquationSystem.g:29:15: ( ( PLUS | MULT | SUB | COMMA ) expr )
- // EquationSystem.g:29:15: ( PLUS | MULT | SUB | COMMA ) expr
- {
- if ( LA(1) == COMMA || LA(1) == MULT || LA(1) == PLUS || LA(1) == SUB )
- {
- CONSUME();
- PERRORRECOVERY=ANTLR3_FALSE;
- FAILEDFLAG=ANTLR3_FALSE;
-
- }
- else
- {
- if (BACKTRACKING>0)
- {
- FAILEDFLAG = ANTLR3_TRUE;
- return ;
- }
-
- CONSTRUCTEX();
- EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
- EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
- EXCEPTION->expectingSet = NULL;
-
- goto rulesynpred12_EquationSystemEx;
- }
-
-
- FOLLOWPUSH(FOLLOW_expr_in_synpred12_EquationSystem299);
- expr(ctx);
-
- FOLLOWPOP();
- if (HASEXCEPTION())
- {
- goto rulesynpred12_EquationSystemEx;
- }
- if (HASFAILED())
- {
- return ;
- }
-
-
- }
-
-// This is where rules clean up and exit
-//
-goto rulesynpred12_EquationSystemEx; /* Prevent compiler warnings */
-rulesynpred12_EquationSystemEx: ;
-
-}
-// $ANTLR end synpred12_EquationSystem
-/* End of parsing rules
- * ==============================================
- */
-
-/* ==============================================
- * Syntactic predicates
- */
-static ANTLR3_BOOLEAN synpred12_EquationSystem(pEquationSystemParser ctx)
-{
- ANTLR3_MARKER start;
- ANTLR3_BOOLEAN success;
-
- BACKTRACKING++;
- start = MARK();
- synpred12_EquationSystem_fragment(ctx); // can never throw exception
- success = !(FAILEDFLAG);
- REWIND(start);
- BACKTRACKING--;
- FAILEDFLAG = ANTLR3_FALSE;
- return success;
-}
-static ANTLR3_BOOLEAN synpred8_EquationSystem(pEquationSystemParser ctx)
-{
- ANTLR3_MARKER start;
- ANTLR3_BOOLEAN success;
-
- BACKTRACKING++;
- start = MARK();
- synpred8_EquationSystem_fragment(ctx); // can never throw exception
- success = !(FAILEDFLAG);
- REWIND(start);
- BACKTRACKING--;
- FAILEDFLAG = ANTLR3_FALSE;
- return success;
-}
-
-/* End of syntactic predicates
- * ==============================================
- */
-
-
-
-
-
-
-/* End of code
- * =============================================================================
- */
diff --git a/impl/parser/EquationSystemParser.h b/impl/parser/EquationSystemParser.h
deleted file mode 100644
index 0f24f97..0000000
--- a/impl/parser/EquationSystemParser.h
+++ /dev/null
@@ -1,324 +0,0 @@
-/** \file
- * This C header file was generated by $ANTLR version 3.4
- *
- * - From the grammar source file : EquationSystem.g
- * - On : 2012-07-12 15:47:50
- * - for the parser : EquationSystemParserParser
- *
- * Editing it, at least manually, is not wise.
- *
- * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
- *
- *
- * The parser
-EquationSystemParser
-
-has the callable functions (rules) shown below,
- * which will invoke the code for the associated rule in the source grammar
- * assuming that the input stream is pointing to a token/text stream that could begin
- * this rule.
- *
- * For instance if you call the first (topmost) rule in a parser grammar, you will
- * get the results of a full parse, but calling a rule half way through the grammar will
- * allow you to pass part of a full token stream to the parser, such as for syntax checking
- * in editors and so on.
- *
- * The parser entry points are called indirectly (by function pointer to function) via
- * a parser context typedef pEquationSystemParser, which is returned from a call to EquationSystemParserNew().
- *
- * The methods in pEquationSystemParser are as follows:
- *
- * -
- EquationSystemParser_equation_system_return
- pEquationSystemParser->equation_system(pEquationSystemParser)
- * -
- EquationSystemParser_equation_return
- pEquationSystemParser->equation(pEquationSystemParser)
- * -
- EquationSystemParser_maxExpr_return
- pEquationSystemParser->maxExpr(pEquationSystemParser)
- * -
- EquationSystemParser_minExpr_return
- pEquationSystemParser->minExpr(pEquationSystemParser)
- * -
- EquationSystemParser_expr_return
- pEquationSystemParser->expr(pEquationSystemParser)
- * -
- EquationSystemParser_term_return
- pEquationSystemParser->term(pEquationSystemParser)
- *
- *
- *
- * The return type for any particular rule is of course determined by the source
- * grammar file.
- */
-// [The "BSD license"]
-// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
-// http://www.temporal-wave.com
-// http://www.linkedin.com/in/jimidle
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. 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.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-
-#ifndef _EquationSystemParser_H
-#define _EquationSystemParser_H
-/* =============================================================================
- * Standard antlr3 C runtime definitions
- */
-#include <antlr3.h>
-
-/* End of standard antlr 3 runtime definitions
- * =============================================================================
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Forward declare the context typedef so that we can use it before it is
-// properly defined. Delegators and delegates (from import statements) are
-// interdependent and their context structures contain pointers to each other
-// C only allows such things to be declared if you pre-declare the typedef.
-//
-typedef struct EquationSystemParser_Ctx_struct EquationSystemParser, * pEquationSystemParser;
-
-
-
-#ifdef ANTLR3_WINDOWS
-// Disable: Unreferenced parameter, - Rules with parameters that are not used
-// constant conditional, - ANTLR realizes that a prediction is always true (synpred usually)
-// initialized but unused variable - tree rewrite variables declared but not needed
-// Unreferenced local variable - lexer rule declares but does not always use _type
-// potentially unitialized variable used - retval always returned from a rule
-// unreferenced local function has been removed - susually getTokenNames or freeScope, they can go without warnigns
-//
-// These are only really displayed at warning level /W4 but that is the code ideal I am aiming at
-// and the codegen must generate some of these warnings by necessity, apart from 4100, which is
-// usually generated when a parser rule is given a parameter that it does not use. Mostly though
-// this is a matter of orthogonality hence I disable that one.
-//
-#pragma warning( disable : 4100 )
-#pragma warning( disable : 4101 )
-#pragma warning( disable : 4127 )
-#pragma warning( disable : 4189 )
-#pragma warning( disable : 4505 )
-#pragma warning( disable : 4701 )
-#endif
-
-/* ========================
- * BACKTRACKING IS ENABLED
- * ========================
- */
-
-typedef struct EquationSystemParser_equation_system_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_equation_system_return;
-
-
-
-typedef struct EquationSystemParser_equation_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_equation_return;
-
-
-
-typedef struct EquationSystemParser_maxExpr_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_maxExpr_return;
-
-
-
-typedef struct EquationSystemParser_minExpr_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_minExpr_return;
-
-
-
-typedef struct EquationSystemParser_expr_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_expr_return;
-
-
-
-typedef struct EquationSystemParser_term_return_struct
-{
- /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
- */
- pANTLR3_COMMON_TOKEN start;
- pANTLR3_COMMON_TOKEN stop;
- pANTLR3_BASE_TREE tree;
-
-}
- EquationSystemParser_term_return;
-
-
-
-
-/** Context tracking structure for
-EquationSystemParser
-
- */
-struct EquationSystemParser_Ctx_struct
-{
- /** Built in ANTLR3 context tracker contains all the generic elements
- * required for context tracking.
- */
- pANTLR3_PARSER pParser;
-
- EquationSystemParser_equation_system_return
- (*equation_system) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_equation_return
- (*equation) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_maxExpr_return
- (*maxExpr) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_minExpr_return
- (*minExpr) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_expr_return
- (*expr) (struct EquationSystemParser_Ctx_struct * ctx);
-
- EquationSystemParser_term_return
- (*term) (struct EquationSystemParser_Ctx_struct * ctx);
-
- ANTLR3_BOOLEAN
- (*synpred8_EquationSystem) (struct EquationSystemParser_Ctx_struct * ctx);
-
- ANTLR3_BOOLEAN
- (*synpred12_EquationSystem) (struct EquationSystemParser_Ctx_struct * ctx);
- // Delegated rules
-
- const char * (*getGrammarFileName)();
- void (*reset) (struct EquationSystemParser_Ctx_struct * ctx);
- void (*free) (struct EquationSystemParser_Ctx_struct * ctx);
-/* @headerFile.members() */
-pANTLR3_BASE_TREE_ADAPTOR adaptor;
-pANTLR3_VECTOR_FACTORY vectors;
-/* End @headerFile.members() */
-};
-
-// Function protoypes for the constructor functions that external translation units
-// such as delegators and delegates may wish to call.
-//
-ANTLR3_API pEquationSystemParser EquationSystemParserNew (
-pANTLR3_COMMON_TOKEN_STREAM
- instream);
-ANTLR3_API pEquationSystemParser EquationSystemParserNewSSD (
-pANTLR3_COMMON_TOKEN_STREAM
- instream, pANTLR3_RECOGNIZER_SHARED_STATE state);
-
-/** Symbolic definitions of all the tokens that the
-parser
- will work with.
- * \{
- *
- * Antlr will define EOF, but we can't use that as it it is too common in
- * in C header files and that would be confusing. There is no way to filter this out at the moment
- * so we just undef it here for now. That isn't the value we get back from C recognizers
- * anyway. We are looking for ANTLR3_TOKEN_EOF.
- */
-#ifdef EOF
-#undef EOF
-#endif
-#ifdef Tokens
-#undef Tokens
-#endif
-#define EOF -1
-#define T__19 19
-#define T__20 20
-#define T__21 21
-#define T__22 22
-#define COMMA 4
-#define DIGIT 5
-#define GREATER_EQUAL 6
-#define GUARD 7
-#define LETTER 8
-#define MAXIMUM 9
-#define MINIMUM 10
-#define MULT 11
-#define NEWLINE 12
-#define NUMBER 13
-#define PLUS 14
-#define QUESTION_MARK 15
-#define SUB 16
-#define VARIABLE 17
-#define WHITESPACE 18
-#ifdef EOF
-#undef EOF
-#define EOF ANTLR3_TOKEN_EOF
-#endif
-
-#ifndef TOKENSOURCE
-#define TOKENSOURCE(lxr) lxr->pLexer->rec->state->tokSource
-#endif
-
-/* End of token definitions for EquationSystemParser
- * =============================================================================
- */
-/** } */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* END - Note:Keep extra line feed to satisfy UNIX systems */
diff --git a/impl/parser/EquationSystemParser.o b/impl/parser/EquationSystemParser.o
deleted file mode 100644
index 2dcfc81..0000000
--- a/impl/parser/EquationSystemParser.o
+++ /dev/null
Binary files differ
diff --git a/impl/systems/generate-long.py b/impl/systems/generate-long.py
index 210ba1e..d2462b0 100644
--- a/impl/systems/generate-long.py
+++ b/impl/systems/generate-long.py
@@ -1,4 +1,4 @@
-print 'x0 = 0'
-for i in xrange(100000):
+for i in reversed(xrange(10000)):
print 'x' + str(i+1) + " = x" + str(i)
+print 'x0 = 0'
diff --git a/impl/systems/gmon.out b/impl/systems/gmon.out
deleted file mode 100644
index 44a1520..0000000
--- a/impl/systems/gmon.out
+++ /dev/null
Binary files differ
diff --git a/impl/systems/long-fixpoint.eqns b/impl/systems/long-fixpoint.eqns
index 5838910..c720bc0 100644
--- a/impl/systems/long-fixpoint.eqns
+++ b/impl/systems/long-fixpoint.eqns
@@ -1,10001 +1,10001 @@
-x0 = 0
-x1 = x0
-x2 = x1
-x3 = x2
-x4 = x3
-x5 = x4
-x6 = x5
-x7 = x6
-x8 = x7
-x9 = x8
-x10 = x9
-x11 = x10
-x12 = x11
-x13 = x12
-x14 = x13
-x15 = x14
-x16 = x15
-x17 = x16
-x18 = x17
-x19 = x18
-x20 = x19
-x21 = x20
-x22 = x21
-x23 = x22
-x24 = x23
-x25 = x24
-x26 = x25
-x27 = x26
-x28 = x27
-x29 = x28
-x30 = x29
-x31 = x30
-x32 = x31
-x33 = x32
-x34 = x33
-x35 = x34
-x36 = x35
-x37 = x36
-x38 = x37
-x39 = x38
-x40 = x39
-x41 = x40
-x42 = x41
-x43 = x42
-x44 = x43
-x45 = x44
-x46 = x45
-x47 = x46
-x48 = x47
-x49 = x48
-x50 = x49
-x51 = x50
-x52 = x51
-x53 = x52
-x54 = x53
-x55 = x54
-x56 = x55
-x57 = x56
-x58 = x57
-x59 = x58
-x60 = x59
-x61 = x60
-x62 = x61
-x63 = x62
-x64 = x63
-x65 = x64
-x66 = x65
-x67 = x66
-x68 = x67
-x69 = x68
-x70 = x69
-x71 = x70
-x72 = x71
-x73 = x72
-x74 = x73
-x75 = x74
-x76 = x75
-x77 = x76
-x78 = x77
-x79 = x78
-x80 = x79
-x81 = x80
-x82 = x81
-x83 = x82
-x84 = x83
-x85 = x84
-x86 = x85
-x87 = x86
-x88 = x87
-x89 = x88
-x90 = x89
-x91 = x90
-x92 = x91
-x93 = x92
-x94 = x93
-x95 = x94
-x96 = x95
-x97 = x96
-x98 = x97
-x99 = x98
-x100 = x99
-x101 = x100
-x102 = x101
-x103 = x102
-x104 = x103
-x105 = x104
-x106 = x105
-x107 = x106
-x108 = x107
-x109 = x108
-x110 = x109
-x111 = x110
-x112 = x111
-x113 = x112
-x114 = x113
-x115 = x114
-x116 = x115
-x117 = x116
-x118 = x117
-x119 = x118
-x120 = x119
-x121 = x120
-x122 = x121
-x123 = x122
-x124 = x123
-x125 = x124
-x126 = x125
-x127 = x126
-x128 = x127
-x129 = x128
-x130 = x129
-x131 = x130
-x132 = x131
-x133 = x132
-x134 = x133
-x135 = x134
-x136 = x135
-x137 = x136
-x138 = x137
-x139 = x138
-x140 = x139
-x141 = x140
-x142 = x141
-x143 = x142
-x144 = x143
-x145 = x144
-x146 = x145
-x147 = x146
-x148 = x147
-x149 = x148
-x150 = x149
-x151 = x150
-x152 = x151
-x153 = x152
-x154 = x153
-x155 = x154
-x156 = x155
-x157 = x156
-x158 = x157
-x159 = x158
-x160 = x159
-x161 = x160
-x162 = x161
-x163 = x162
-x164 = x163
-x165 = x164
-x166 = x165
-x167 = x166
-x168 = x167
-x169 = x168
-x170 = x169
-x171 = x170
-x172 = x171
-x173 = x172
-x174 = x173
-x175 = x174
-x176 = x175
-x177 = x176
-x178 = x177
-x179 = x178
-x180 = x179
-x181 = x180
-x182 = x181
-x183 = x182
-x184 = x183
-x185 = x184
-x186 = x185
-x187 = x186
-x188 = x187
-x189 = x188
-x190 = x189
-x191 = x190
-x192 = x191
-x193 = x192
-x194 = x193
-x195 = x194
-x196 = x195
-x197 = x196
-x198 = x197
-x199 = x198
-x200 = x199
-x201 = x200
-x202 = x201
-x203 = x202
-x204 = x203
-x205 = x204
-x206 = x205
-x207 = x206
-x208 = x207
-x209 = x208
-x210 = x209
-x211 = x210
-x212 = x211
-x213 = x212
-x214 = x213
-x215 = x214
-x216 = x215
-x217 = x216
-x218 = x217
-x219 = x218
-x220 = x219
-x221 = x220
-x222 = x221
-x223 = x222
-x224 = x223
-x225 = x224
-x226 = x225
-x227 = x226
-x228 = x227
-x229 = x228
-x230 = x229
-x231 = x230
-x232 = x231
-x233 = x232
-x234 = x233
-x235 = x234
-x236 = x235
-x237 = x236
-x238 = x237
-x239 = x238
-x240 = x239
-x241 = x240
-x242 = x241
-x243 = x242
-x244 = x243
-x245 = x244
-x246 = x245
-x247 = x246
-x248 = x247
-x249 = x248
-x250 = x249
-x251 = x250
-x252 = x251
-x253 = x252
-x254 = x253
-x255 = x254
-x256 = x255
-x257 = x256
-x258 = x257
-x259 = x258
-x260 = x259
-x261 = x260
-x262 = x261
-x263 = x262
-x264 = x263
-x265 = x264
-x266 = x265
-x267 = x266
-x268 = x267
-x269 = x268
-x270 = x269
-x271 = x270
-x272 = x271
-x273 = x272
-x274 = x273
-x275 = x274
-x276 = x275
-x277 = x276
-x278 = x277
-x279 = x278
-x280 = x279
-x281 = x280
-x282 = x281
-x283 = x282
-x284 = x283
-x285 = x284
-x286 = x285
-x287 = x286
-x288 = x287
-x289 = x288
-x290 = x289
-x291 = x290
-x292 = x291
-x293 = x292
-x294 = x293
-x295 = x294
-x296 = x295
-x297 = x296
-x298 = x297
-x299 = x298
-x300 = x299
-x301 = x300
-x302 = x301
-x303 = x302
-x304 = x303
-x305 = x304
-x306 = x305
-x307 = x306
-x308 = x307
-x309 = x308
-x310 = x309
-x311 = x310
-x312 = x311
-x313 = x312
-x314 = x313
-x315 = x314
-x316 = x315
-x317 = x316
-x318 = x317
-x319 = x318
-x320 = x319
-x321 = x320
-x322 = x321
-x323 = x322
-x324 = x323
-x325 = x324
-x326 = x325
-x327 = x326
-x328 = x327
-x329 = x328
-x330 = x329
-x331 = x330
-x332 = x331
-x333 = x332
-x334 = x333
-x335 = x334
-x336 = x335
-x337 = x336
-x338 = x337
-x339 = x338
-x340 = x339
-x341 = x340
-x342 = x341
-x343 = x342
-x344 = x343
-x345 = x344
-x346 = x345
-x347 = x346
-x348 = x347
-x349 = x348
-x350 = x349
-x351 = x350
-x352 = x351
-x353 = x352
-x354 = x353
-x355 = x354
-x356 = x355
-x357 = x356
-x358 = x357
-x359 = x358
-x360 = x359
-x361 = x360
-x362 = x361
-x363 = x362
-x364 = x363
-x365 = x364
-x366 = x365
-x367 = x366
-x368 = x367
-x369 = x368
-x370 = x369
-x371 = x370
-x372 = x371
-x373 = x372
-x374 = x373
-x375 = x374
-x376 = x375
-x377 = x376
-x378 = x377
-x379 = x378
-x380 = x379
-x381 = x380
-x382 = x381
-x383 = x382
-x384 = x383
-x385 = x384
-x386 = x385
-x387 = x386
-x388 = x387
-x389 = x388
-x390 = x389
-x391 = x390
-x392 = x391
-x393 = x392
-x394 = x393
-x395 = x394
-x396 = x395
-x397 = x396
-x398 = x397
-x399 = x398
-x400 = x399
-x401 = x400
-x402 = x401
-x403 = x402
-x404 = x403
-x405 = x404
-x406 = x405
-x407 = x406
-x408 = x407
-x409 = x408
-x410 = x409
-x411 = x410
-x412 = x411
-x413 = x412
-x414 = x413
-x415 = x414
-x416 = x415
-x417 = x416
-x418 = x417
-x419 = x418
-x420 = x419
-x421 = x420
-x422 = x421
-x423 = x422
-x424 = x423
-x425 = x424
-x426 = x425
-x427 = x426
-x428 = x427
-x429 = x428
-x430 = x429
-x431 = x430
-x432 = x431
-x433 = x432
-x434 = x433
-x435 = x434
-x436 = x435
-x437 = x436
-x438 = x437
-x439 = x438
-x440 = x439
-x441 = x440
-x442 = x441
-x443 = x442
-x444 = x443
-x445 = x444
-x446 = x445
-x447 = x446
-x448 = x447
-x449 = x448
-x450 = x449
-x451 = x450
-x452 = x451
-x453 = x452
-x454 = x453
-x455 = x454
-x456 = x455
-x457 = x456
-x458 = x457
-x459 = x458
-x460 = x459
-x461 = x460
-x462 = x461
-x463 = x462
-x464 = x463
-x465 = x464
-x466 = x465
-x467 = x466
-x468 = x467
-x469 = x468
-x470 = x469
-x471 = x470
-x472 = x471
-x473 = x472
-x474 = x473
-x475 = x474
-x476 = x475
-x477 = x476
-x478 = x477
-x479 = x478
-x480 = x479
-x481 = x480
-x482 = x481
-x483 = x482
-x484 = x483
-x485 = x484
-x486 = x485
-x487 = x486
-x488 = x487
-x489 = x488
-x490 = x489
-x491 = x490
-x492 = x491
-x493 = x492
-x494 = x493
-x495 = x494
-x496 = x495
-x497 = x496
-x498 = x497
-x499 = x498
-x500 = x499
-x501 = x500
-x502 = x501
-x503 = x502
-x504 = x503
-x505 = x504
-x506 = x505
-x507 = x506
-x508 = x507
-x509 = x508
-x510 = x509
-x511 = x510
-x512 = x511
-x513 = x512
-x514 = x513
-x515 = x514
-x516 = x515
-x517 = x516
-x518 = x517
-x519 = x518
-x520 = x519
-x521 = x520
-x522 = x521
-x523 = x522
-x524 = x523
-x525 = x524
-x526 = x525
-x527 = x526
-x528 = x527
-x529 = x528
-x530 = x529
-x531 = x530
-x532 = x531
-x533 = x532
-x534 = x533
-x535 = x534
-x536 = x535
-x537 = x536
-x538 = x537
-x539 = x538
-x540 = x539
-x541 = x540
-x542 = x541
-x543 = x542
-x544 = x543
-x545 = x544
-x546 = x545
-x547 = x546
-x548 = x547
-x549 = x548
-x550 = x549
-x551 = x550
-x552 = x551
-x553 = x552
-x554 = x553
-x555 = x554
-x556 = x555
-x557 = x556
-x558 = x557
-x559 = x558
-x560 = x559
-x561 = x560
-x562 = x561
-x563 = x562
-x564 = x563
-x565 = x564
-x566 = x565
-x567 = x566
-x568 = x567
-x569 = x568
-x570 = x569
-x571 = x570
-x572 = x571
-x573 = x572
-x574 = x573
-x575 = x574
-x576 = x575
-x577 = x576
-x578 = x577
-x579 = x578
-x580 = x579
-x581 = x580
-x582 = x581
-x583 = x582
-x584 = x583
-x585 = x584
-x586 = x585
-x587 = x586
-x588 = x587
-x589 = x588
-x590 = x589
-x591 = x590
-x592 = x591
-x593 = x592
-x594 = x593
-x595 = x594
-x596 = x595
-x597 = x596
-x598 = x597
-x599 = x598
-x600 = x599
-x601 = x600
-x602 = x601
-x603 = x602
-x604 = x603
-x605 = x604
-x606 = x605
-x607 = x606
-x608 = x607
-x609 = x608
-x610 = x609
-x611 = x610
-x612 = x611
-x613 = x612
-x614 = x613
-x615 = x614
-x616 = x615
-x617 = x616
-x618 = x617
-x619 = x618
-x620 = x619
-x621 = x620
-x622 = x621
-x623 = x622
-x624 = x623
-x625 = x624
-x626 = x625
-x627 = x626
-x628 = x627
-x629 = x628
-x630 = x629
-x631 = x630
-x632 = x631
-x633 = x632
-x634 = x633
-x635 = x634
-x636 = x635
-x637 = x636
-x638 = x637
-x639 = x638
-x640 = x639
-x641 = x640
-x642 = x641
-x643 = x642
-x644 = x643
-x645 = x644
-x646 = x645
-x647 = x646
-x648 = x647
-x649 = x648
-x650 = x649
-x651 = x650
-x652 = x651
-x653 = x652
-x654 = x653
-x655 = x654
-x656 = x655
-x657 = x656
-x658 = x657
-x659 = x658
-x660 = x659
-x661 = x660
-x662 = x661
-x663 = x662
-x664 = x663
-x665 = x664
-x666 = x665
-x667 = x666
-x668 = x667
-x669 = x668
-x670 = x669
-x671 = x670
-x672 = x671
-x673 = x672
-x674 = x673
-x675 = x674
-x676 = x675
-x677 = x676
-x678 = x677
-x679 = x678
-x680 = x679
-x681 = x680
-x682 = x681
-x683 = x682
-x684 = x683
-x685 = x684
-x686 = x685
-x687 = x686
-x688 = x687
-x689 = x688
-x690 = x689
-x691 = x690
-x692 = x691
-x693 = x692
-x694 = x693
-x695 = x694
-x696 = x695
-x697 = x696
-x698 = x697
-x699 = x698
-x700 = x699
-x701 = x700
-x702 = x701
-x703 = x702
-x704 = x703
-x705 = x704
-x706 = x705
-x707 = x706
-x708 = x707
-x709 = x708
-x710 = x709
-x711 = x710
-x712 = x711
-x713 = x712
-x714 = x713
-x715 = x714
-x716 = x715
-x717 = x716
-x718 = x717
-x719 = x718
-x720 = x719
-x721 = x720
-x722 = x721
-x723 = x722
-x724 = x723
-x725 = x724
-x726 = x725
-x727 = x726
-x728 = x727
-x729 = x728
-x730 = x729
-x731 = x730
-x732 = x731
-x733 = x732
-x734 = x733
-x735 = x734
-x736 = x735
-x737 = x736
-x738 = x737
-x739 = x738
-x740 = x739
-x741 = x740
-x742 = x741
-x743 = x742
-x744 = x743
-x745 = x744
-x746 = x745
-x747 = x746
-x748 = x747
-x749 = x748
-x750 = x749
-x751 = x750
-x752 = x751
-x753 = x752
-x754 = x753
-x755 = x754
-x756 = x755
-x757 = x756
-x758 = x757
-x759 = x758
-x760 = x759
-x761 = x760
-x762 = x761
-x763 = x762
-x764 = x763
-x765 = x764
-x766 = x765
-x767 = x766
-x768 = x767
-x769 = x768
-x770 = x769
-x771 = x770
-x772 = x771
-x773 = x772
-x774 = x773
-x775 = x774
-x776 = x775
-x777 = x776
-x778 = x777
-x779 = x778
-x780 = x779
-x781 = x780
-x782 = x781
-x783 = x782
-x784 = x783
-x785 = x784
-x786 = x785
-x787 = x786
-x788 = x787
-x789 = x788
-x790 = x789
-x791 = x790
-x792 = x791
-x793 = x792
-x794 = x793
-x795 = x794
-x796 = x795
-x797 = x796
-x798 = x797
-x799 = x798
-x800 = x799
-x801 = x800
-x802 = x801
-x803 = x802
-x804 = x803
-x805 = x804
-x806 = x805
-x807 = x806
-x808 = x807
-x809 = x808
-x810 = x809
-x811 = x810
-x812 = x811
-x813 = x812
-x814 = x813
-x815 = x814
-x816 = x815
-x817 = x816
-x818 = x817
-x819 = x818
-x820 = x819
-x821 = x820
-x822 = x821
-x823 = x822
-x824 = x823
-x825 = x824
-x826 = x825
-x827 = x826
-x828 = x827
-x829 = x828
-x830 = x829
-x831 = x830
-x832 = x831
-x833 = x832
-x834 = x833
-x835 = x834
-x836 = x835
-x837 = x836
-x838 = x837
-x839 = x838
-x840 = x839
-x841 = x840
-x842 = x841
-x843 = x842
-x844 = x843
-x845 = x844
-x846 = x845
-x847 = x846
-x848 = x847
-x849 = x848
-x850 = x849
-x851 = x850
-x852 = x851
-x853 = x852
-x854 = x853
-x855 = x854
-x856 = x855
-x857 = x856
-x858 = x857
-x859 = x858
-x860 = x859
-x861 = x860
-x862 = x861
-x863 = x862
-x864 = x863
-x865 = x864
-x866 = x865
-x867 = x866
-x868 = x867
-x869 = x868
-x870 = x869
-x871 = x870
-x872 = x871
-x873 = x872
-x874 = x873
-x875 = x874
-x876 = x875
-x877 = x876
-x878 = x877
-x879 = x878
-x880 = x879
-x881 = x880
-x882 = x881
-x883 = x882
-x884 = x883
-x885 = x884
-x886 = x885
-x887 = x886
-x888 = x887
-x889 = x888
-x890 = x889
-x891 = x890
-x892 = x891
-x893 = x892
-x894 = x893
-x895 = x894
-x896 = x895
-x897 = x896
-x898 = x897
-x899 = x898
-x900 = x899
-x901 = x900
-x902 = x901
-x903 = x902
-x904 = x903
-x905 = x904
-x906 = x905
-x907 = x906
-x908 = x907
-x909 = x908
-x910 = x909
-x911 = x910
-x912 = x911
-x913 = x912
-x914 = x913
-x915 = x914
-x916 = x915
-x917 = x916
-x918 = x917
-x919 = x918
-x920 = x919
-x921 = x920
-x922 = x921
-x923 = x922
-x924 = x923
-x925 = x924
-x926 = x925
-x927 = x926
-x928 = x927
-x929 = x928
-x930 = x929
-x931 = x930
-x932 = x931
-x933 = x932
-x934 = x933
-x935 = x934
-x936 = x935
-x937 = x936
-x938 = x937
-x939 = x938
-x940 = x939
-x941 = x940
-x942 = x941
-x943 = x942
-x944 = x943
-x945 = x944
-x946 = x945
-x947 = x946
-x948 = x947
-x949 = x948
-x950 = x949
-x951 = x950
-x952 = x951
-x953 = x952
-x954 = x953
-x955 = x954
-x956 = x955
-x957 = x956
-x958 = x957
-x959 = x958
-x960 = x959
-x961 = x960
-x962 = x961
-x963 = x962
-x964 = x963
-x965 = x964
-x966 = x965
-x967 = x966
-x968 = x967
-x969 = x968
-x970 = x969
-x971 = x970
-x972 = x971
-x973 = x972
-x974 = x973
-x975 = x974
-x976 = x975
-x977 = x976
-x978 = x977
-x979 = x978
-x980 = x979
-x981 = x980
-x982 = x981
-x983 = x982
-x984 = x983
-x985 = x984
-x986 = x985
-x987 = x986
-x988 = x987
-x989 = x988
-x990 = x989
-x991 = x990
-x992 = x991
-x993 = x992
-x994 = x993
-x995 = x994
-x996 = x995
-x997 = x996
-x998 = x997
-x999 = x998
-x1000 = x999
-x1001 = x1000
-x1002 = x1001
-x1003 = x1002
-x1004 = x1003
-x1005 = x1004
-x1006 = x1005
-x1007 = x1006
-x1008 = x1007
-x1009 = x1008
-x1010 = x1009
-x1011 = x1010
-x1012 = x1011
-x1013 = x1012
-x1014 = x1013
-x1015 = x1014
-x1016 = x1015
-x1017 = x1016
-x1018 = x1017
-x1019 = x1018
-x1020 = x1019
-x1021 = x1020
-x1022 = x1021
-x1023 = x1022
-x1024 = x1023
-x1025 = x1024
-x1026 = x1025
-x1027 = x1026
-x1028 = x1027
-x1029 = x1028
-x1030 = x1029
-x1031 = x1030
-x1032 = x1031
-x1033 = x1032
-x1034 = x1033
-x1035 = x1034
-x1036 = x1035
-x1037 = x1036
-x1038 = x1037
-x1039 = x1038
-x1040 = x1039
-x1041 = x1040
-x1042 = x1041
-x1043 = x1042
-x1044 = x1043
-x1045 = x1044
-x1046 = x1045
-x1047 = x1046
-x1048 = x1047
-x1049 = x1048
-x1050 = x1049
-x1051 = x1050
-x1052 = x1051
-x1053 = x1052
-x1054 = x1053
-x1055 = x1054
-x1056 = x1055
-x1057 = x1056
-x1058 = x1057
-x1059 = x1058
-x1060 = x1059
-x1061 = x1060
-x1062 = x1061
-x1063 = x1062
-x1064 = x1063
-x1065 = x1064
-x1066 = x1065
-x1067 = x1066
-x1068 = x1067
-x1069 = x1068
-x1070 = x1069
-x1071 = x1070
-x1072 = x1071
-x1073 = x1072
-x1074 = x1073
-x1075 = x1074
-x1076 = x1075
-x1077 = x1076
-x1078 = x1077
-x1079 = x1078
-x1080 = x1079
-x1081 = x1080
-x1082 = x1081
-x1083 = x1082
-x1084 = x1083
-x1085 = x1084
-x1086 = x1085
-x1087 = x1086
-x1088 = x1087
-x1089 = x1088
-x1090 = x1089
-x1091 = x1090
-x1092 = x1091
-x1093 = x1092
-x1094 = x1093
-x1095 = x1094
-x1096 = x1095
-x1097 = x1096
-x1098 = x1097
-x1099 = x1098
-x1100 = x1099
-x1101 = x1100
-x1102 = x1101
-x1103 = x1102
-x1104 = x1103
-x1105 = x1104
-x1106 = x1105
-x1107 = x1106
-x1108 = x1107
-x1109 = x1108
-x1110 = x1109
-x1111 = x1110
-x1112 = x1111
-x1113 = x1112
-x1114 = x1113
-x1115 = x1114
-x1116 = x1115
-x1117 = x1116
-x1118 = x1117
-x1119 = x1118
-x1120 = x1119
-x1121 = x1120
-x1122 = x1121
-x1123 = x1122
-x1124 = x1123
-x1125 = x1124
-x1126 = x1125
-x1127 = x1126
-x1128 = x1127
-x1129 = x1128
-x1130 = x1129
-x1131 = x1130
-x1132 = x1131
-x1133 = x1132
-x1134 = x1133
-x1135 = x1134
-x1136 = x1135
-x1137 = x1136
-x1138 = x1137
-x1139 = x1138
-x1140 = x1139
-x1141 = x1140
-x1142 = x1141
-x1143 = x1142
-x1144 = x1143
-x1145 = x1144
-x1146 = x1145
-x1147 = x1146
-x1148 = x1147
-x1149 = x1148
-x1150 = x1149
-x1151 = x1150
-x1152 = x1151
-x1153 = x1152
-x1154 = x1153
-x1155 = x1154
-x1156 = x1155
-x1157 = x1156
-x1158 = x1157
-x1159 = x1158
-x1160 = x1159
-x1161 = x1160
-x1162 = x1161
-x1163 = x1162
-x1164 = x1163
-x1165 = x1164
-x1166 = x1165
-x1167 = x1166
-x1168 = x1167
-x1169 = x1168
-x1170 = x1169
-x1171 = x1170
-x1172 = x1171
-x1173 = x1172
-x1174 = x1173
-x1175 = x1174
-x1176 = x1175
-x1177 = x1176
-x1178 = x1177
-x1179 = x1178
-x1180 = x1179
-x1181 = x1180
-x1182 = x1181
-x1183 = x1182
-x1184 = x1183
-x1185 = x1184
-x1186 = x1185
-x1187 = x1186
-x1188 = x1187
-x1189 = x1188
-x1190 = x1189
-x1191 = x1190
-x1192 = x1191
-x1193 = x1192
-x1194 = x1193
-x1195 = x1194
-x1196 = x1195
-x1197 = x1196
-x1198 = x1197
-x1199 = x1198
-x1200 = x1199
-x1201 = x1200
-x1202 = x1201
-x1203 = x1202
-x1204 = x1203
-x1205 = x1204
-x1206 = x1205
-x1207 = x1206
-x1208 = x1207
-x1209 = x1208
-x1210 = x1209
-x1211 = x1210
-x1212 = x1211
-x1213 = x1212
-x1214 = x1213
-x1215 = x1214
-x1216 = x1215
-x1217 = x1216
-x1218 = x1217
-x1219 = x1218
-x1220 = x1219
-x1221 = x1220
-x1222 = x1221
-x1223 = x1222
-x1224 = x1223
-x1225 = x1224
-x1226 = x1225
-x1227 = x1226
-x1228 = x1227
-x1229 = x1228
-x1230 = x1229
-x1231 = x1230
-x1232 = x1231
-x1233 = x1232
-x1234 = x1233
-x1235 = x1234
-x1236 = x1235
-x1237 = x1236
-x1238 = x1237
-x1239 = x1238
-x1240 = x1239
-x1241 = x1240
-x1242 = x1241
-x1243 = x1242
-x1244 = x1243
-x1245 = x1244
-x1246 = x1245
-x1247 = x1246
-x1248 = x1247
-x1249 = x1248
-x1250 = x1249
-x1251 = x1250
-x1252 = x1251
-x1253 = x1252
-x1254 = x1253
-x1255 = x1254
-x1256 = x1255
-x1257 = x1256
-x1258 = x1257
-x1259 = x1258
-x1260 = x1259
-x1261 = x1260
-x1262 = x1261
-x1263 = x1262
-x1264 = x1263
-x1265 = x1264
-x1266 = x1265
-x1267 = x1266
-x1268 = x1267
-x1269 = x1268
-x1270 = x1269
-x1271 = x1270
-x1272 = x1271
-x1273 = x1272
-x1274 = x1273
-x1275 = x1274
-x1276 = x1275
-x1277 = x1276
-x1278 = x1277
-x1279 = x1278
-x1280 = x1279
-x1281 = x1280
-x1282 = x1281
-x1283 = x1282
-x1284 = x1283
-x1285 = x1284
-x1286 = x1285
-x1287 = x1286
-x1288 = x1287
-x1289 = x1288
-x1290 = x1289
-x1291 = x1290
-x1292 = x1291
-x1293 = x1292
-x1294 = x1293
-x1295 = x1294
-x1296 = x1295
-x1297 = x1296
-x1298 = x1297
-x1299 = x1298
-x1300 = x1299
-x1301 = x1300
-x1302 = x1301
-x1303 = x1302
-x1304 = x1303
-x1305 = x1304
-x1306 = x1305
-x1307 = x1306
-x1308 = x1307
-x1309 = x1308
-x1310 = x1309
-x1311 = x1310
-x1312 = x1311
-x1313 = x1312
-x1314 = x1313
-x1315 = x1314
-x1316 = x1315
-x1317 = x1316
-x1318 = x1317
-x1319 = x1318
-x1320 = x1319
-x1321 = x1320
-x1322 = x1321
-x1323 = x1322
-x1324 = x1323
-x1325 = x1324
-x1326 = x1325
-x1327 = x1326
-x1328 = x1327
-x1329 = x1328
-x1330 = x1329
-x1331 = x1330
-x1332 = x1331
-x1333 = x1332
-x1334 = x1333
-x1335 = x1334
-x1336 = x1335
-x1337 = x1336
-x1338 = x1337
-x1339 = x1338
-x1340 = x1339
-x1341 = x1340
-x1342 = x1341
-x1343 = x1342
-x1344 = x1343
-x1345 = x1344
-x1346 = x1345
-x1347 = x1346
-x1348 = x1347
-x1349 = x1348
-x1350 = x1349
-x1351 = x1350
-x1352 = x1351
-x1353 = x1352
-x1354 = x1353
-x1355 = x1354
-x1356 = x1355
-x1357 = x1356
-x1358 = x1357
-x1359 = x1358
-x1360 = x1359
-x1361 = x1360
-x1362 = x1361
-x1363 = x1362
-x1364 = x1363
-x1365 = x1364
-x1366 = x1365
-x1367 = x1366
-x1368 = x1367
-x1369 = x1368
-x1370 = x1369
-x1371 = x1370
-x1372 = x1371
-x1373 = x1372
-x1374 = x1373
-x1375 = x1374
-x1376 = x1375
-x1377 = x1376
-x1378 = x1377
-x1379 = x1378
-x1380 = x1379
-x1381 = x1380
-x1382 = x1381
-x1383 = x1382
-x1384 = x1383
-x1385 = x1384
-x1386 = x1385
-x1387 = x1386
-x1388 = x1387
-x1389 = x1388
-x1390 = x1389
-x1391 = x1390
-x1392 = x1391
-x1393 = x1392
-x1394 = x1393
-x1395 = x1394
-x1396 = x1395
-x1397 = x1396
-x1398 = x1397
-x1399 = x1398
-x1400 = x1399
-x1401 = x1400
-x1402 = x1401
-x1403 = x1402
-x1404 = x1403
-x1405 = x1404
-x1406 = x1405
-x1407 = x1406
-x1408 = x1407
-x1409 = x1408
-x1410 = x1409
-x1411 = x1410
-x1412 = x1411
-x1413 = x1412
-x1414 = x1413
-x1415 = x1414
-x1416 = x1415
-x1417 = x1416
-x1418 = x1417
-x1419 = x1418
-x1420 = x1419
-x1421 = x1420
-x1422 = x1421
-x1423 = x1422
-x1424 = x1423
-x1425 = x1424
-x1426 = x1425
-x1427 = x1426
-x1428 = x1427
-x1429 = x1428
-x1430 = x1429
-x1431 = x1430
-x1432 = x1431
-x1433 = x1432
-x1434 = x1433
-x1435 = x1434
-x1436 = x1435
-x1437 = x1436
-x1438 = x1437
-x1439 = x1438
-x1440 = x1439
-x1441 = x1440
-x1442 = x1441
-x1443 = x1442
-x1444 = x1443
-x1445 = x1444
-x1446 = x1445
-x1447 = x1446
-x1448 = x1447
-x1449 = x1448
-x1450 = x1449
-x1451 = x1450
-x1452 = x1451
-x1453 = x1452
-x1454 = x1453
-x1455 = x1454
-x1456 = x1455
-x1457 = x1456
-x1458 = x1457
-x1459 = x1458
-x1460 = x1459
-x1461 = x1460
-x1462 = x1461
-x1463 = x1462
-x1464 = x1463
-x1465 = x1464
-x1466 = x1465
-x1467 = x1466
-x1468 = x1467
-x1469 = x1468
-x1470 = x1469
-x1471 = x1470
-x1472 = x1471
-x1473 = x1472
-x1474 = x1473
-x1475 = x1474
-x1476 = x1475
-x1477 = x1476
-x1478 = x1477
-x1479 = x1478
-x1480 = x1479
-x1481 = x1480
-x1482 = x1481
-x1483 = x1482
-x1484 = x1483
-x1485 = x1484
-x1486 = x1485
-x1487 = x1486
-x1488 = x1487
-x1489 = x1488
-x1490 = x1489
-x1491 = x1490
-x1492 = x1491
-x1493 = x1492
-x1494 = x1493
-x1495 = x1494
-x1496 = x1495
-x1497 = x1496
-x1498 = x1497
-x1499 = x1498
-x1500 = x1499
-x1501 = x1500
-x1502 = x1501
-x1503 = x1502
-x1504 = x1503
-x1505 = x1504
-x1506 = x1505
-x1507 = x1506
-x1508 = x1507
-x1509 = x1508
-x1510 = x1509
-x1511 = x1510
-x1512 = x1511
-x1513 = x1512
-x1514 = x1513
-x1515 = x1514
-x1516 = x1515
-x1517 = x1516
-x1518 = x1517
-x1519 = x1518
-x1520 = x1519
-x1521 = x1520
-x1522 = x1521
-x1523 = x1522
-x1524 = x1523
-x1525 = x1524
-x1526 = x1525
-x1527 = x1526
-x1528 = x1527
-x1529 = x1528
-x1530 = x1529
-x1531 = x1530
-x1532 = x1531
-x1533 = x1532
-x1534 = x1533
-x1535 = x1534
-x1536 = x1535
-x1537 = x1536
-x1538 = x1537
-x1539 = x1538
-x1540 = x1539
-x1541 = x1540
-x1542 = x1541
-x1543 = x1542
-x1544 = x1543
-x1545 = x1544
-x1546 = x1545
-x1547 = x1546
-x1548 = x1547
-x1549 = x1548
-x1550 = x1549
-x1551 = x1550
-x1552 = x1551
-x1553 = x1552
-x1554 = x1553
-x1555 = x1554
-x1556 = x1555
-x1557 = x1556
-x1558 = x1557
-x1559 = x1558
-x1560 = x1559
-x1561 = x1560
-x1562 = x1561
-x1563 = x1562
-x1564 = x1563
-x1565 = x1564
-x1566 = x1565
-x1567 = x1566
-x1568 = x1567
-x1569 = x1568
-x1570 = x1569
-x1571 = x1570
-x1572 = x1571
-x1573 = x1572
-x1574 = x1573
-x1575 = x1574
-x1576 = x1575
-x1577 = x1576
-x1578 = x1577
-x1579 = x1578
-x1580 = x1579
-x1581 = x1580
-x1582 = x1581
-x1583 = x1582
-x1584 = x1583
-x1585 = x1584
-x1586 = x1585
-x1587 = x1586
-x1588 = x1587
-x1589 = x1588
-x1590 = x1589
-x1591 = x1590
-x1592 = x1591
-x1593 = x1592
-x1594 = x1593
-x1595 = x1594
-x1596 = x1595
-x1597 = x1596
-x1598 = x1597
-x1599 = x1598
-x1600 = x1599
-x1601 = x1600
-x1602 = x1601
-x1603 = x1602
-x1604 = x1603
-x1605 = x1604
-x1606 = x1605
-x1607 = x1606
-x1608 = x1607
-x1609 = x1608
-x1610 = x1609
-x1611 = x1610
-x1612 = x1611
-x1613 = x1612
-x1614 = x1613
-x1615 = x1614
-x1616 = x1615
-x1617 = x1616
-x1618 = x1617
-x1619 = x1618
-x1620 = x1619
-x1621 = x1620
-x1622 = x1621
-x1623 = x1622
-x1624 = x1623
-x1625 = x1624
-x1626 = x1625
-x1627 = x1626
-x1628 = x1627
-x1629 = x1628
-x1630 = x1629
-x1631 = x1630
-x1632 = x1631
-x1633 = x1632
-x1634 = x1633
-x1635 = x1634
-x1636 = x1635
-x1637 = x1636
-x1638 = x1637
-x1639 = x1638
-x1640 = x1639
-x1641 = x1640
-x1642 = x1641
-x1643 = x1642
-x1644 = x1643
-x1645 = x1644
-x1646 = x1645
-x1647 = x1646
-x1648 = x1647
-x1649 = x1648
-x1650 = x1649
-x1651 = x1650
-x1652 = x1651
-x1653 = x1652
-x1654 = x1653
-x1655 = x1654
-x1656 = x1655
-x1657 = x1656
-x1658 = x1657
-x1659 = x1658
-x1660 = x1659
-x1661 = x1660
-x1662 = x1661
-x1663 = x1662
-x1664 = x1663
-x1665 = x1664
-x1666 = x1665
-x1667 = x1666
-x1668 = x1667
-x1669 = x1668
-x1670 = x1669
-x1671 = x1670
-x1672 = x1671
-x1673 = x1672
-x1674 = x1673
-x1675 = x1674
-x1676 = x1675
-x1677 = x1676
-x1678 = x1677
-x1679 = x1678
-x1680 = x1679
-x1681 = x1680
-x1682 = x1681
-x1683 = x1682
-x1684 = x1683
-x1685 = x1684
-x1686 = x1685
-x1687 = x1686
-x1688 = x1687
-x1689 = x1688
-x1690 = x1689
-x1691 = x1690
-x1692 = x1691
-x1693 = x1692
-x1694 = x1693
-x1695 = x1694
-x1696 = x1695
-x1697 = x1696
-x1698 = x1697
-x1699 = x1698
-x1700 = x1699
-x1701 = x1700
-x1702 = x1701
-x1703 = x1702
-x1704 = x1703
-x1705 = x1704
-x1706 = x1705
-x1707 = x1706
-x1708 = x1707
-x1709 = x1708
-x1710 = x1709
-x1711 = x1710
-x1712 = x1711
-x1713 = x1712
-x1714 = x1713
-x1715 = x1714
-x1716 = x1715
-x1717 = x1716
-x1718 = x1717
-x1719 = x1718
-x1720 = x1719
-x1721 = x1720
-x1722 = x1721
-x1723 = x1722
-x1724 = x1723
-x1725 = x1724
-x1726 = x1725
-x1727 = x1726
-x1728 = x1727
-x1729 = x1728
-x1730 = x1729
-x1731 = x1730
-x1732 = x1731
-x1733 = x1732
-x1734 = x1733
-x1735 = x1734
-x1736 = x1735
-x1737 = x1736
-x1738 = x1737
-x1739 = x1738
-x1740 = x1739
-x1741 = x1740
-x1742 = x1741
-x1743 = x1742
-x1744 = x1743
-x1745 = x1744
-x1746 = x1745
-x1747 = x1746
-x1748 = x1747
-x1749 = x1748
-x1750 = x1749
-x1751 = x1750
-x1752 = x1751
-x1753 = x1752
-x1754 = x1753
-x1755 = x1754
-x1756 = x1755
-x1757 = x1756
-x1758 = x1757
-x1759 = x1758
-x1760 = x1759
-x1761 = x1760
-x1762 = x1761
-x1763 = x1762
-x1764 = x1763
-x1765 = x1764
-x1766 = x1765
-x1767 = x1766
-x1768 = x1767
-x1769 = x1768
-x1770 = x1769
-x1771 = x1770
-x1772 = x1771
-x1773 = x1772
-x1774 = x1773
-x1775 = x1774
-x1776 = x1775
-x1777 = x1776
-x1778 = x1777
-x1779 = x1778
-x1780 = x1779
-x1781 = x1780
-x1782 = x1781
-x1783 = x1782
-x1784 = x1783
-x1785 = x1784
-x1786 = x1785
-x1787 = x1786
-x1788 = x1787
-x1789 = x1788
-x1790 = x1789
-x1791 = x1790
-x1792 = x1791
-x1793 = x1792
-x1794 = x1793
-x1795 = x1794
-x1796 = x1795
-x1797 = x1796
-x1798 = x1797
-x1799 = x1798
-x1800 = x1799
-x1801 = x1800
-x1802 = x1801
-x1803 = x1802
-x1804 = x1803
-x1805 = x1804
-x1806 = x1805
-x1807 = x1806
-x1808 = x1807
-x1809 = x1808
-x1810 = x1809
-x1811 = x1810
-x1812 = x1811
-x1813 = x1812
-x1814 = x1813
-x1815 = x1814
-x1816 = x1815
-x1817 = x1816
-x1818 = x1817
-x1819 = x1818
-x1820 = x1819
-x1821 = x1820
-x1822 = x1821
-x1823 = x1822
-x1824 = x1823
-x1825 = x1824
-x1826 = x1825
-x1827 = x1826
-x1828 = x1827
-x1829 = x1828
-x1830 = x1829
-x1831 = x1830
-x1832 = x1831
-x1833 = x1832
-x1834 = x1833
-x1835 = x1834
-x1836 = x1835
-x1837 = x1836
-x1838 = x1837
-x1839 = x1838
-x1840 = x1839
-x1841 = x1840
-x1842 = x1841
-x1843 = x1842
-x1844 = x1843
-x1845 = x1844
-x1846 = x1845
-x1847 = x1846
-x1848 = x1847
-x1849 = x1848
-x1850 = x1849
-x1851 = x1850
-x1852 = x1851
-x1853 = x1852
-x1854 = x1853
-x1855 = x1854
-x1856 = x1855
-x1857 = x1856
-x1858 = x1857
-x1859 = x1858
-x1860 = x1859
-x1861 = x1860
-x1862 = x1861
-x1863 = x1862
-x1864 = x1863
-x1865 = x1864
-x1866 = x1865
-x1867 = x1866
-x1868 = x1867
-x1869 = x1868
-x1870 = x1869
-x1871 = x1870
-x1872 = x1871
-x1873 = x1872
-x1874 = x1873
-x1875 = x1874
-x1876 = x1875
-x1877 = x1876
-x1878 = x1877
-x1879 = x1878
-x1880 = x1879
-x1881 = x1880
-x1882 = x1881
-x1883 = x1882
-x1884 = x1883
-x1885 = x1884
-x1886 = x1885
-x1887 = x1886
-x1888 = x1887
-x1889 = x1888
-x1890 = x1889
-x1891 = x1890
-x1892 = x1891
-x1893 = x1892
-x1894 = x1893
-x1895 = x1894
-x1896 = x1895
-x1897 = x1896
-x1898 = x1897
-x1899 = x1898
-x1900 = x1899
-x1901 = x1900
-x1902 = x1901
-x1903 = x1902
-x1904 = x1903
-x1905 = x1904
-x1906 = x1905
-x1907 = x1906
-x1908 = x1907
-x1909 = x1908
-x1910 = x1909
-x1911 = x1910
-x1912 = x1911
-x1913 = x1912
-x1914 = x1913
-x1915 = x1914
-x1916 = x1915
-x1917 = x1916
-x1918 = x1917
-x1919 = x1918
-x1920 = x1919
-x1921 = x1920
-x1922 = x1921
-x1923 = x1922
-x1924 = x1923
-x1925 = x1924
-x1926 = x1925
-x1927 = x1926
-x1928 = x1927
-x1929 = x1928
-x1930 = x1929
-x1931 = x1930
-x1932 = x1931
-x1933 = x1932
-x1934 = x1933
-x1935 = x1934
-x1936 = x1935
-x1937 = x1936
-x1938 = x1937
-x1939 = x1938
-x1940 = x1939
-x1941 = x1940
-x1942 = x1941
-x1943 = x1942
-x1944 = x1943
-x1945 = x1944
-x1946 = x1945
-x1947 = x1946
-x1948 = x1947
-x1949 = x1948
-x1950 = x1949
-x1951 = x1950
-x1952 = x1951
-x1953 = x1952
-x1954 = x1953
-x1955 = x1954
-x1956 = x1955
-x1957 = x1956
-x1958 = x1957
-x1959 = x1958
-x1960 = x1959
-x1961 = x1960
-x1962 = x1961
-x1963 = x1962
-x1964 = x1963
-x1965 = x1964
-x1966 = x1965
-x1967 = x1966
-x1968 = x1967
-x1969 = x1968
-x1970 = x1969
-x1971 = x1970
-x1972 = x1971
-x1973 = x1972
-x1974 = x1973
-x1975 = x1974
-x1976 = x1975
-x1977 = x1976
-x1978 = x1977
-x1979 = x1978
-x1980 = x1979
-x1981 = x1980
-x1982 = x1981
-x1983 = x1982
-x1984 = x1983
-x1985 = x1984
-x1986 = x1985
-x1987 = x1986
-x1988 = x1987
-x1989 = x1988
-x1990 = x1989
-x1991 = x1990
-x1992 = x1991
-x1993 = x1992
-x1994 = x1993
-x1995 = x1994
-x1996 = x1995
-x1997 = x1996
-x1998 = x1997
-x1999 = x1998
-x2000 = x1999
-x2001 = x2000
-x2002 = x2001
-x2003 = x2002
-x2004 = x2003
-x2005 = x2004
-x2006 = x2005
-x2007 = x2006
-x2008 = x2007
-x2009 = x2008
-x2010 = x2009
-x2011 = x2010
-x2012 = x2011
-x2013 = x2012
-x2014 = x2013
-x2015 = x2014
-x2016 = x2015
-x2017 = x2016
-x2018 = x2017
-x2019 = x2018
-x2020 = x2019
-x2021 = x2020
-x2022 = x2021
-x2023 = x2022
-x2024 = x2023
-x2025 = x2024
-x2026 = x2025
-x2027 = x2026
-x2028 = x2027
-x2029 = x2028
-x2030 = x2029
-x2031 = x2030
-x2032 = x2031
-x2033 = x2032
-x2034 = x2033
-x2035 = x2034
-x2036 = x2035
-x2037 = x2036
-x2038 = x2037
-x2039 = x2038
-x2040 = x2039
-x2041 = x2040
-x2042 = x2041
-x2043 = x2042
-x2044 = x2043
-x2045 = x2044
-x2046 = x2045
-x2047 = x2046
-x2048 = x2047
-x2049 = x2048
-x2050 = x2049
-x2051 = x2050
-x2052 = x2051
-x2053 = x2052
-x2054 = x2053
-x2055 = x2054
-x2056 = x2055
-x2057 = x2056
-x2058 = x2057
-x2059 = x2058
-x2060 = x2059
-x2061 = x2060
-x2062 = x2061
-x2063 = x2062
-x2064 = x2063
-x2065 = x2064
-x2066 = x2065
-x2067 = x2066
-x2068 = x2067
-x2069 = x2068
-x2070 = x2069
-x2071 = x2070
-x2072 = x2071
-x2073 = x2072
-x2074 = x2073
-x2075 = x2074
-x2076 = x2075
-x2077 = x2076
-x2078 = x2077
-x2079 = x2078
-x2080 = x2079
-x2081 = x2080
-x2082 = x2081
-x2083 = x2082
-x2084 = x2083
-x2085 = x2084
-x2086 = x2085
-x2087 = x2086
-x2088 = x2087
-x2089 = x2088
-x2090 = x2089
-x2091 = x2090
-x2092 = x2091
-x2093 = x2092
-x2094 = x2093
-x2095 = x2094
-x2096 = x2095
-x2097 = x2096
-x2098 = x2097
-x2099 = x2098
-x2100 = x2099
-x2101 = x2100
-x2102 = x2101
-x2103 = x2102
-x2104 = x2103
-x2105 = x2104
-x2106 = x2105
-x2107 = x2106
-x2108 = x2107
-x2109 = x2108
-x2110 = x2109
-x2111 = x2110
-x2112 = x2111
-x2113 = x2112
-x2114 = x2113
-x2115 = x2114
-x2116 = x2115
-x2117 = x2116
-x2118 = x2117
-x2119 = x2118
-x2120 = x2119
-x2121 = x2120
-x2122 = x2121
-x2123 = x2122
-x2124 = x2123
-x2125 = x2124
-x2126 = x2125
-x2127 = x2126
-x2128 = x2127
-x2129 = x2128
-x2130 = x2129
-x2131 = x2130
-x2132 = x2131
-x2133 = x2132
-x2134 = x2133
-x2135 = x2134
-x2136 = x2135
-x2137 = x2136
-x2138 = x2137
-x2139 = x2138
-x2140 = x2139
-x2141 = x2140
-x2142 = x2141
-x2143 = x2142
-x2144 = x2143
-x2145 = x2144
-x2146 = x2145
-x2147 = x2146
-x2148 = x2147
-x2149 = x2148
-x2150 = x2149
-x2151 = x2150
-x2152 = x2151
-x2153 = x2152
-x2154 = x2153
-x2155 = x2154
-x2156 = x2155
-x2157 = x2156
-x2158 = x2157
-x2159 = x2158
-x2160 = x2159
-x2161 = x2160
-x2162 = x2161
-x2163 = x2162
-x2164 = x2163
-x2165 = x2164
-x2166 = x2165
-x2167 = x2166
-x2168 = x2167
-x2169 = x2168
-x2170 = x2169
-x2171 = x2170
-x2172 = x2171
-x2173 = x2172
-x2174 = x2173
-x2175 = x2174
-x2176 = x2175
-x2177 = x2176
-x2178 = x2177
-x2179 = x2178
-x2180 = x2179
-x2181 = x2180
-x2182 = x2181
-x2183 = x2182
-x2184 = x2183
-x2185 = x2184
-x2186 = x2185
-x2187 = x2186
-x2188 = x2187
-x2189 = x2188
-x2190 = x2189
-x2191 = x2190
-x2192 = x2191
-x2193 = x2192
-x2194 = x2193
-x2195 = x2194
-x2196 = x2195
-x2197 = x2196
-x2198 = x2197
-x2199 = x2198
-x2200 = x2199
-x2201 = x2200
-x2202 = x2201
-x2203 = x2202
-x2204 = x2203
-x2205 = x2204
-x2206 = x2205
-x2207 = x2206
-x2208 = x2207
-x2209 = x2208
-x2210 = x2209
-x2211 = x2210
-x2212 = x2211
-x2213 = x2212
-x2214 = x2213
-x2215 = x2214
-x2216 = x2215
-x2217 = x2216
-x2218 = x2217
-x2219 = x2218
-x2220 = x2219
-x2221 = x2220
-x2222 = x2221
-x2223 = x2222
-x2224 = x2223
-x2225 = x2224
-x2226 = x2225
-x2227 = x2226
-x2228 = x2227
-x2229 = x2228
-x2230 = x2229
-x2231 = x2230
-x2232 = x2231
-x2233 = x2232
-x2234 = x2233
-x2235 = x2234
-x2236 = x2235
-x2237 = x2236
-x2238 = x2237
-x2239 = x2238
-x2240 = x2239
-x2241 = x2240
-x2242 = x2241
-x2243 = x2242
-x2244 = x2243
-x2245 = x2244
-x2246 = x2245
-x2247 = x2246
-x2248 = x2247
-x2249 = x2248
-x2250 = x2249
-x2251 = x2250
-x2252 = x2251
-x2253 = x2252
-x2254 = x2253
-x2255 = x2254
-x2256 = x2255
-x2257 = x2256
-x2258 = x2257
-x2259 = x2258
-x2260 = x2259
-x2261 = x2260
-x2262 = x2261
-x2263 = x2262
-x2264 = x2263
-x2265 = x2264
-x2266 = x2265
-x2267 = x2266
-x2268 = x2267
-x2269 = x2268
-x2270 = x2269
-x2271 = x2270
-x2272 = x2271
-x2273 = x2272
-x2274 = x2273
-x2275 = x2274
-x2276 = x2275
-x2277 = x2276
-x2278 = x2277
-x2279 = x2278
-x2280 = x2279
-x2281 = x2280
-x2282 = x2281
-x2283 = x2282
-x2284 = x2283
-x2285 = x2284
-x2286 = x2285
-x2287 = x2286
-x2288 = x2287
-x2289 = x2288
-x2290 = x2289
-x2291 = x2290
-x2292 = x2291
-x2293 = x2292
-x2294 = x2293
-x2295 = x2294
-x2296 = x2295
-x2297 = x2296
-x2298 = x2297
-x2299 = x2298
-x2300 = x2299
-x2301 = x2300
-x2302 = x2301
-x2303 = x2302
-x2304 = x2303
-x2305 = x2304
-x2306 = x2305
-x2307 = x2306
-x2308 = x2307
-x2309 = x2308
-x2310 = x2309
-x2311 = x2310
-x2312 = x2311
-x2313 = x2312
-x2314 = x2313
-x2315 = x2314
-x2316 = x2315
-x2317 = x2316
-x2318 = x2317
-x2319 = x2318
-x2320 = x2319
-x2321 = x2320
-x2322 = x2321
-x2323 = x2322
-x2324 = x2323
-x2325 = x2324
-x2326 = x2325
-x2327 = x2326
-x2328 = x2327
-x2329 = x2328
-x2330 = x2329
-x2331 = x2330
-x2332 = x2331
-x2333 = x2332
-x2334 = x2333
-x2335 = x2334
-x2336 = x2335
-x2337 = x2336
-x2338 = x2337
-x2339 = x2338
-x2340 = x2339
-x2341 = x2340
-x2342 = x2341
-x2343 = x2342
-x2344 = x2343
-x2345 = x2344
-x2346 = x2345
-x2347 = x2346
-x2348 = x2347
-x2349 = x2348
-x2350 = x2349
-x2351 = x2350
-x2352 = x2351
-x2353 = x2352
-x2354 = x2353
-x2355 = x2354
-x2356 = x2355
-x2357 = x2356
-x2358 = x2357
-x2359 = x2358
-x2360 = x2359
-x2361 = x2360
-x2362 = x2361
-x2363 = x2362
-x2364 = x2363
-x2365 = x2364
-x2366 = x2365
-x2367 = x2366
-x2368 = x2367
-x2369 = x2368
-x2370 = x2369
-x2371 = x2370
-x2372 = x2371
-x2373 = x2372
-x2374 = x2373
-x2375 = x2374
-x2376 = x2375
-x2377 = x2376
-x2378 = x2377
-x2379 = x2378
-x2380 = x2379
-x2381 = x2380
-x2382 = x2381
-x2383 = x2382
-x2384 = x2383
-x2385 = x2384
-x2386 = x2385
-x2387 = x2386
-x2388 = x2387
-x2389 = x2388
-x2390 = x2389
-x2391 = x2390
-x2392 = x2391
-x2393 = x2392
-x2394 = x2393
-x2395 = x2394
-x2396 = x2395
-x2397 = x2396
-x2398 = x2397
-x2399 = x2398
-x2400 = x2399
-x2401 = x2400
-x2402 = x2401
-x2403 = x2402
-x2404 = x2403
-x2405 = x2404
-x2406 = x2405
-x2407 = x2406
-x2408 = x2407
-x2409 = x2408
-x2410 = x2409
-x2411 = x2410
-x2412 = x2411
-x2413 = x2412
-x2414 = x2413
-x2415 = x2414
-x2416 = x2415
-x2417 = x2416
-x2418 = x2417
-x2419 = x2418
-x2420 = x2419
-x2421 = x2420
-x2422 = x2421
-x2423 = x2422
-x2424 = x2423
-x2425 = x2424
-x2426 = x2425
-x2427 = x2426
-x2428 = x2427
-x2429 = x2428
-x2430 = x2429
-x2431 = x2430
-x2432 = x2431
-x2433 = x2432
-x2434 = x2433
-x2435 = x2434
-x2436 = x2435
-x2437 = x2436
-x2438 = x2437
-x2439 = x2438
-x2440 = x2439
-x2441 = x2440
-x2442 = x2441
-x2443 = x2442
-x2444 = x2443
-x2445 = x2444
-x2446 = x2445
-x2447 = x2446
-x2448 = x2447
-x2449 = x2448
-x2450 = x2449
-x2451 = x2450
-x2452 = x2451
-x2453 = x2452
-x2454 = x2453
-x2455 = x2454
-x2456 = x2455
-x2457 = x2456
-x2458 = x2457
-x2459 = x2458
-x2460 = x2459
-x2461 = x2460
-x2462 = x2461
-x2463 = x2462
-x2464 = x2463
-x2465 = x2464
-x2466 = x2465
-x2467 = x2466
-x2468 = x2467
-x2469 = x2468
-x2470 = x2469
-x2471 = x2470
-x2472 = x2471
-x2473 = x2472
-x2474 = x2473
-x2475 = x2474
-x2476 = x2475
-x2477 = x2476
-x2478 = x2477
-x2479 = x2478
-x2480 = x2479
-x2481 = x2480
-x2482 = x2481
-x2483 = x2482
-x2484 = x2483
-x2485 = x2484
-x2486 = x2485
-x2487 = x2486
-x2488 = x2487
-x2489 = x2488
-x2490 = x2489
-x2491 = x2490
-x2492 = x2491
-x2493 = x2492
-x2494 = x2493
-x2495 = x2494
-x2496 = x2495
-x2497 = x2496
-x2498 = x2497
-x2499 = x2498
-x2500 = x2499
-x2501 = x2500
-x2502 = x2501
-x2503 = x2502
-x2504 = x2503
-x2505 = x2504
-x2506 = x2505
-x2507 = x2506
-x2508 = x2507
-x2509 = x2508
-x2510 = x2509
-x2511 = x2510
-x2512 = x2511
-x2513 = x2512
-x2514 = x2513
-x2515 = x2514
-x2516 = x2515
-x2517 = x2516
-x2518 = x2517
-x2519 = x2518
-x2520 = x2519
-x2521 = x2520
-x2522 = x2521
-x2523 = x2522
-x2524 = x2523
-x2525 = x2524
-x2526 = x2525
-x2527 = x2526
-x2528 = x2527
-x2529 = x2528
-x2530 = x2529
-x2531 = x2530
-x2532 = x2531
-x2533 = x2532
-x2534 = x2533
-x2535 = x2534
-x2536 = x2535
-x2537 = x2536
-x2538 = x2537
-x2539 = x2538
-x2540 = x2539
-x2541 = x2540
-x2542 = x2541
-x2543 = x2542
-x2544 = x2543
-x2545 = x2544
-x2546 = x2545
-x2547 = x2546
-x2548 = x2547
-x2549 = x2548
-x2550 = x2549
-x2551 = x2550
-x2552 = x2551
-x2553 = x2552
-x2554 = x2553
-x2555 = x2554
-x2556 = x2555
-x2557 = x2556
-x2558 = x2557
-x2559 = x2558
-x2560 = x2559
-x2561 = x2560
-x2562 = x2561
-x2563 = x2562
-x2564 = x2563
-x2565 = x2564
-x2566 = x2565
-x2567 = x2566
-x2568 = x2567
-x2569 = x2568
-x2570 = x2569
-x2571 = x2570
-x2572 = x2571
-x2573 = x2572
-x2574 = x2573
-x2575 = x2574
-x2576 = x2575
-x2577 = x2576
-x2578 = x2577
-x2579 = x2578
-x2580 = x2579
-x2581 = x2580
-x2582 = x2581
-x2583 = x2582
-x2584 = x2583
-x2585 = x2584
-x2586 = x2585
-x2587 = x2586
-x2588 = x2587
-x2589 = x2588
-x2590 = x2589
-x2591 = x2590
-x2592 = x2591
-x2593 = x2592
-x2594 = x2593
-x2595 = x2594
-x2596 = x2595
-x2597 = x2596
-x2598 = x2597
-x2599 = x2598
-x2600 = x2599
-x2601 = x2600
-x2602 = x2601
-x2603 = x2602
-x2604 = x2603
-x2605 = x2604
-x2606 = x2605
-x2607 = x2606
-x2608 = x2607
-x2609 = x2608
-x2610 = x2609
-x2611 = x2610
-x2612 = x2611
-x2613 = x2612
-x2614 = x2613
-x2615 = x2614
-x2616 = x2615
-x2617 = x2616
-x2618 = x2617
-x2619 = x2618
-x2620 = x2619
-x2621 = x2620
-x2622 = x2621
-x2623 = x2622
-x2624 = x2623
-x2625 = x2624
-x2626 = x2625
-x2627 = x2626
-x2628 = x2627
-x2629 = x2628
-x2630 = x2629
-x2631 = x2630
-x2632 = x2631
-x2633 = x2632
-x2634 = x2633
-x2635 = x2634
-x2636 = x2635
-x2637 = x2636
-x2638 = x2637
-x2639 = x2638
-x2640 = x2639
-x2641 = x2640
-x2642 = x2641
-x2643 = x2642
-x2644 = x2643
-x2645 = x2644
-x2646 = x2645
-x2647 = x2646
-x2648 = x2647
-x2649 = x2648
-x2650 = x2649
-x2651 = x2650
-x2652 = x2651
-x2653 = x2652
-x2654 = x2653
-x2655 = x2654
-x2656 = x2655
-x2657 = x2656
-x2658 = x2657
-x2659 = x2658
-x2660 = x2659
-x2661 = x2660
-x2662 = x2661
-x2663 = x2662
-x2664 = x2663
-x2665 = x2664
-x2666 = x2665
-x2667 = x2666
-x2668 = x2667
-x2669 = x2668
-x2670 = x2669
-x2671 = x2670
-x2672 = x2671
-x2673 = x2672
-x2674 = x2673
-x2675 = x2674
-x2676 = x2675
-x2677 = x2676
-x2678 = x2677
-x2679 = x2678
-x2680 = x2679
-x2681 = x2680
-x2682 = x2681
-x2683 = x2682
-x2684 = x2683
-x2685 = x2684
-x2686 = x2685
-x2687 = x2686
-x2688 = x2687
-x2689 = x2688
-x2690 = x2689
-x2691 = x2690
-x2692 = x2691
-x2693 = x2692
-x2694 = x2693
-x2695 = x2694
-x2696 = x2695
-x2697 = x2696
-x2698 = x2697
-x2699 = x2698
-x2700 = x2699
-x2701 = x2700
-x2702 = x2701
-x2703 = x2702
-x2704 = x2703
-x2705 = x2704
-x2706 = x2705
-x2707 = x2706
-x2708 = x2707
-x2709 = x2708
-x2710 = x2709
-x2711 = x2710
-x2712 = x2711
-x2713 = x2712
-x2714 = x2713
-x2715 = x2714
-x2716 = x2715
-x2717 = x2716
-x2718 = x2717
-x2719 = x2718
-x2720 = x2719
-x2721 = x2720
-x2722 = x2721
-x2723 = x2722
-x2724 = x2723
-x2725 = x2724
-x2726 = x2725
-x2727 = x2726
-x2728 = x2727
-x2729 = x2728
-x2730 = x2729
-x2731 = x2730
-x2732 = x2731
-x2733 = x2732
-x2734 = x2733
-x2735 = x2734
-x2736 = x2735
-x2737 = x2736
-x2738 = x2737
-x2739 = x2738
-x2740 = x2739
-x2741 = x2740
-x2742 = x2741
-x2743 = x2742
-x2744 = x2743
-x2745 = x2744
-x2746 = x2745
-x2747 = x2746
-x2748 = x2747
-x2749 = x2748
-x2750 = x2749
-x2751 = x2750
-x2752 = x2751
-x2753 = x2752
-x2754 = x2753
-x2755 = x2754
-x2756 = x2755
-x2757 = x2756
-x2758 = x2757
-x2759 = x2758
-x2760 = x2759
-x2761 = x2760
-x2762 = x2761
-x2763 = x2762
-x2764 = x2763
-x2765 = x2764
-x2766 = x2765
-x2767 = x2766
-x2768 = x2767
-x2769 = x2768
-x2770 = x2769
-x2771 = x2770
-x2772 = x2771
-x2773 = x2772
-x2774 = x2773
-x2775 = x2774
-x2776 = x2775
-x2777 = x2776
-x2778 = x2777
-x2779 = x2778
-x2780 = x2779
-x2781 = x2780
-x2782 = x2781
-x2783 = x2782
-x2784 = x2783
-x2785 = x2784
-x2786 = x2785
-x2787 = x2786
-x2788 = x2787
-x2789 = x2788
-x2790 = x2789
-x2791 = x2790
-x2792 = x2791
-x2793 = x2792
-x2794 = x2793
-x2795 = x2794
-x2796 = x2795
-x2797 = x2796
-x2798 = x2797
-x2799 = x2798
-x2800 = x2799
-x2801 = x2800
-x2802 = x2801
-x2803 = x2802
-x2804 = x2803
-x2805 = x2804
-x2806 = x2805
-x2807 = x2806
-x2808 = x2807
-x2809 = x2808
-x2810 = x2809
-x2811 = x2810
-x2812 = x2811
-x2813 = x2812
-x2814 = x2813
-x2815 = x2814
-x2816 = x2815
-x2817 = x2816
-x2818 = x2817
-x2819 = x2818
-x2820 = x2819
-x2821 = x2820
-x2822 = x2821
-x2823 = x2822
-x2824 = x2823
-x2825 = x2824
-x2826 = x2825
-x2827 = x2826
-x2828 = x2827
-x2829 = x2828
-x2830 = x2829
-x2831 = x2830
-x2832 = x2831
-x2833 = x2832
-x2834 = x2833
-x2835 = x2834
-x2836 = x2835
-x2837 = x2836
-x2838 = x2837
-x2839 = x2838
-x2840 = x2839
-x2841 = x2840
-x2842 = x2841
-x2843 = x2842
-x2844 = x2843
-x2845 = x2844
-x2846 = x2845
-x2847 = x2846
-x2848 = x2847
-x2849 = x2848
-x2850 = x2849
-x2851 = x2850
-x2852 = x2851
-x2853 = x2852
-x2854 = x2853
-x2855 = x2854
-x2856 = x2855
-x2857 = x2856
-x2858 = x2857
-x2859 = x2858
-x2860 = x2859
-x2861 = x2860
-x2862 = x2861
-x2863 = x2862
-x2864 = x2863
-x2865 = x2864
-x2866 = x2865
-x2867 = x2866
-x2868 = x2867
-x2869 = x2868
-x2870 = x2869
-x2871 = x2870
-x2872 = x2871
-x2873 = x2872
-x2874 = x2873
-x2875 = x2874
-x2876 = x2875
-x2877 = x2876
-x2878 = x2877
-x2879 = x2878
-x2880 = x2879
-x2881 = x2880
-x2882 = x2881
-x2883 = x2882
-x2884 = x2883
-x2885 = x2884
-x2886 = x2885
-x2887 = x2886
-x2888 = x2887
-x2889 = x2888
-x2890 = x2889
-x2891 = x2890
-x2892 = x2891
-x2893 = x2892
-x2894 = x2893
-x2895 = x2894
-x2896 = x2895
-x2897 = x2896
-x2898 = x2897
-x2899 = x2898
-x2900 = x2899
-x2901 = x2900
-x2902 = x2901
-x2903 = x2902
-x2904 = x2903
-x2905 = x2904
-x2906 = x2905
-x2907 = x2906
-x2908 = x2907
-x2909 = x2908
-x2910 = x2909
-x2911 = x2910
-x2912 = x2911
-x2913 = x2912
-x2914 = x2913
-x2915 = x2914
-x2916 = x2915
-x2917 = x2916
-x2918 = x2917
-x2919 = x2918
-x2920 = x2919
-x2921 = x2920
-x2922 = x2921
-x2923 = x2922
-x2924 = x2923
-x2925 = x2924
-x2926 = x2925
-x2927 = x2926
-x2928 = x2927
-x2929 = x2928
-x2930 = x2929
-x2931 = x2930
-x2932 = x2931
-x2933 = x2932
-x2934 = x2933
-x2935 = x2934
-x2936 = x2935
-x2937 = x2936
-x2938 = x2937
-x2939 = x2938
-x2940 = x2939
-x2941 = x2940
-x2942 = x2941
-x2943 = x2942
-x2944 = x2943
-x2945 = x2944
-x2946 = x2945
-x2947 = x2946
-x2948 = x2947
-x2949 = x2948
-x2950 = x2949
-x2951 = x2950
-x2952 = x2951
-x2953 = x2952
-x2954 = x2953
-x2955 = x2954
-x2956 = x2955
-x2957 = x2956
-x2958 = x2957
-x2959 = x2958
-x2960 = x2959
-x2961 = x2960
-x2962 = x2961
-x2963 = x2962
-x2964 = x2963
-x2965 = x2964
-x2966 = x2965
-x2967 = x2966
-x2968 = x2967
-x2969 = x2968
-x2970 = x2969
-x2971 = x2970
-x2972 = x2971
-x2973 = x2972
-x2974 = x2973
-x2975 = x2974
-x2976 = x2975
-x2977 = x2976
-x2978 = x2977
-x2979 = x2978
-x2980 = x2979
-x2981 = x2980
-x2982 = x2981
-x2983 = x2982
-x2984 = x2983
-x2985 = x2984
-x2986 = x2985
-x2987 = x2986
-x2988 = x2987
-x2989 = x2988
-x2990 = x2989
-x2991 = x2990
-x2992 = x2991
-x2993 = x2992
-x2994 = x2993
-x2995 = x2994
-x2996 = x2995
-x2997 = x2996
-x2998 = x2997
-x2999 = x2998
-x3000 = x2999
-x3001 = x3000
-x3002 = x3001
-x3003 = x3002
-x3004 = x3003
-x3005 = x3004
-x3006 = x3005
-x3007 = x3006
-x3008 = x3007
-x3009 = x3008
-x3010 = x3009
-x3011 = x3010
-x3012 = x3011
-x3013 = x3012
-x3014 = x3013
-x3015 = x3014
-x3016 = x3015
-x3017 = x3016
-x3018 = x3017
-x3019 = x3018
-x3020 = x3019
-x3021 = x3020
-x3022 = x3021
-x3023 = x3022
-x3024 = x3023
-x3025 = x3024
-x3026 = x3025
-x3027 = x3026
-x3028 = x3027
-x3029 = x3028
-x3030 = x3029
-x3031 = x3030
-x3032 = x3031
-x3033 = x3032
-x3034 = x3033
-x3035 = x3034
-x3036 = x3035
-x3037 = x3036
-x3038 = x3037
-x3039 = x3038
-x3040 = x3039
-x3041 = x3040
-x3042 = x3041
-x3043 = x3042
-x3044 = x3043
-x3045 = x3044
-x3046 = x3045
-x3047 = x3046
-x3048 = x3047
-x3049 = x3048
-x3050 = x3049
-x3051 = x3050
-x3052 = x3051
-x3053 = x3052
-x3054 = x3053
-x3055 = x3054
-x3056 = x3055
-x3057 = x3056
-x3058 = x3057
-x3059 = x3058
-x3060 = x3059
-x3061 = x3060
-x3062 = x3061
-x3063 = x3062
-x3064 = x3063
-x3065 = x3064
-x3066 = x3065
-x3067 = x3066
-x3068 = x3067
-x3069 = x3068
-x3070 = x3069
-x3071 = x3070
-x3072 = x3071
-x3073 = x3072
-x3074 = x3073
-x3075 = x3074
-x3076 = x3075
-x3077 = x3076
-x3078 = x3077
-x3079 = x3078
-x3080 = x3079
-x3081 = x3080
-x3082 = x3081
-x3083 = x3082
-x3084 = x3083
-x3085 = x3084
-x3086 = x3085
-x3087 = x3086
-x3088 = x3087
-x3089 = x3088
-x3090 = x3089
-x3091 = x3090
-x3092 = x3091
-x3093 = x3092
-x3094 = x3093
-x3095 = x3094
-x3096 = x3095
-x3097 = x3096
-x3098 = x3097
-x3099 = x3098
-x3100 = x3099
-x3101 = x3100
-x3102 = x3101
-x3103 = x3102
-x3104 = x3103
-x3105 = x3104
-x3106 = x3105
-x3107 = x3106
-x3108 = x3107
-x3109 = x3108
-x3110 = x3109
-x3111 = x3110
-x3112 = x3111
-x3113 = x3112
-x3114 = x3113
-x3115 = x3114
-x3116 = x3115
-x3117 = x3116
-x3118 = x3117
-x3119 = x3118
-x3120 = x3119
-x3121 = x3120
-x3122 = x3121
-x3123 = x3122
-x3124 = x3123
-x3125 = x3124
-x3126 = x3125
-x3127 = x3126
-x3128 = x3127
-x3129 = x3128
-x3130 = x3129
-x3131 = x3130
-x3132 = x3131
-x3133 = x3132
-x3134 = x3133
-x3135 = x3134
-x3136 = x3135
-x3137 = x3136
-x3138 = x3137
-x3139 = x3138
-x3140 = x3139
-x3141 = x3140
-x3142 = x3141
-x3143 = x3142
-x3144 = x3143
-x3145 = x3144
-x3146 = x3145
-x3147 = x3146
-x3148 = x3147
-x3149 = x3148
-x3150 = x3149
-x3151 = x3150
-x3152 = x3151
-x3153 = x3152
-x3154 = x3153
-x3155 = x3154
-x3156 = x3155
-x3157 = x3156
-x3158 = x3157
-x3159 = x3158
-x3160 = x3159
-x3161 = x3160
-x3162 = x3161
-x3163 = x3162
-x3164 = x3163
-x3165 = x3164
-x3166 = x3165
-x3167 = x3166
-x3168 = x3167
-x3169 = x3168
-x3170 = x3169
-x3171 = x3170
-x3172 = x3171
-x3173 = x3172
-x3174 = x3173
-x3175 = x3174
-x3176 = x3175
-x3177 = x3176
-x3178 = x3177
-x3179 = x3178
-x3180 = x3179
-x3181 = x3180
-x3182 = x3181
-x3183 = x3182
-x3184 = x3183
-x3185 = x3184
-x3186 = x3185
-x3187 = x3186
-x3188 = x3187
-x3189 = x3188
-x3190 = x3189
-x3191 = x3190
-x3192 = x3191
-x3193 = x3192
-x3194 = x3193
-x3195 = x3194
-x3196 = x3195
-x3197 = x3196
-x3198 = x3197
-x3199 = x3198
-x3200 = x3199
-x3201 = x3200
-x3202 = x3201
-x3203 = x3202
-x3204 = x3203
-x3205 = x3204
-x3206 = x3205
-x3207 = x3206
-x3208 = x3207
-x3209 = x3208
-x3210 = x3209
-x3211 = x3210
-x3212 = x3211
-x3213 = x3212
-x3214 = x3213
-x3215 = x3214
-x3216 = x3215
-x3217 = x3216
-x3218 = x3217
-x3219 = x3218
-x3220 = x3219
-x3221 = x3220
-x3222 = x3221
-x3223 = x3222
-x3224 = x3223
-x3225 = x3224
-x3226 = x3225
-x3227 = x3226
-x3228 = x3227
-x3229 = x3228
-x3230 = x3229
-x3231 = x3230
-x3232 = x3231
-x3233 = x3232
-x3234 = x3233
-x3235 = x3234
-x3236 = x3235
-x3237 = x3236
-x3238 = x3237
-x3239 = x3238
-x3240 = x3239
-x3241 = x3240
-x3242 = x3241
-x3243 = x3242
-x3244 = x3243
-x3245 = x3244
-x3246 = x3245
-x3247 = x3246
-x3248 = x3247
-x3249 = x3248
-x3250 = x3249
-x3251 = x3250
-x3252 = x3251
-x3253 = x3252
-x3254 = x3253
-x3255 = x3254
-x3256 = x3255
-x3257 = x3256
-x3258 = x3257
-x3259 = x3258
-x3260 = x3259
-x3261 = x3260
-x3262 = x3261
-x3263 = x3262
-x3264 = x3263
-x3265 = x3264
-x3266 = x3265
-x3267 = x3266
-x3268 = x3267
-x3269 = x3268
-x3270 = x3269
-x3271 = x3270
-x3272 = x3271
-x3273 = x3272
-x3274 = x3273
-x3275 = x3274
-x3276 = x3275
-x3277 = x3276
-x3278 = x3277
-x3279 = x3278
-x3280 = x3279
-x3281 = x3280
-x3282 = x3281
-x3283 = x3282
-x3284 = x3283
-x3285 = x3284
-x3286 = x3285
-x3287 = x3286
-x3288 = x3287
-x3289 = x3288
-x3290 = x3289
-x3291 = x3290
-x3292 = x3291
-x3293 = x3292
-x3294 = x3293
-x3295 = x3294
-x3296 = x3295
-x3297 = x3296
-x3298 = x3297
-x3299 = x3298
-x3300 = x3299
-x3301 = x3300
-x3302 = x3301
-x3303 = x3302
-x3304 = x3303
-x3305 = x3304
-x3306 = x3305
-x3307 = x3306
-x3308 = x3307
-x3309 = x3308
-x3310 = x3309
-x3311 = x3310
-x3312 = x3311
-x3313 = x3312
-x3314 = x3313
-x3315 = x3314
-x3316 = x3315
-x3317 = x3316
-x3318 = x3317
-x3319 = x3318
-x3320 = x3319
-x3321 = x3320
-x3322 = x3321
-x3323 = x3322
-x3324 = x3323
-x3325 = x3324
-x3326 = x3325
-x3327 = x3326
-x3328 = x3327
-x3329 = x3328
-x3330 = x3329
-x3331 = x3330
-x3332 = x3331
-x3333 = x3332
-x3334 = x3333
-x3335 = x3334
-x3336 = x3335
-x3337 = x3336
-x3338 = x3337
-x3339 = x3338
-x3340 = x3339
-x3341 = x3340
-x3342 = x3341
-x3343 = x3342
-x3344 = x3343
-x3345 = x3344
-x3346 = x3345
-x3347 = x3346
-x3348 = x3347
-x3349 = x3348
-x3350 = x3349
-x3351 = x3350
-x3352 = x3351
-x3353 = x3352
-x3354 = x3353
-x3355 = x3354
-x3356 = x3355
-x3357 = x3356
-x3358 = x3357
-x3359 = x3358
-x3360 = x3359
-x3361 = x3360
-x3362 = x3361
-x3363 = x3362
-x3364 = x3363
-x3365 = x3364
-x3366 = x3365
-x3367 = x3366
-x3368 = x3367
-x3369 = x3368
-x3370 = x3369
-x3371 = x3370
-x3372 = x3371
-x3373 = x3372
-x3374 = x3373
-x3375 = x3374
-x3376 = x3375
-x3377 = x3376
-x3378 = x3377
-x3379 = x3378
-x3380 = x3379
-x3381 = x3380
-x3382 = x3381
-x3383 = x3382
-x3384 = x3383
-x3385 = x3384
-x3386 = x3385
-x3387 = x3386
-x3388 = x3387
-x3389 = x3388
-x3390 = x3389
-x3391 = x3390
-x3392 = x3391
-x3393 = x3392
-x3394 = x3393
-x3395 = x3394
-x3396 = x3395
-x3397 = x3396
-x3398 = x3397
-x3399 = x3398
-x3400 = x3399
-x3401 = x3400
-x3402 = x3401
-x3403 = x3402
-x3404 = x3403
-x3405 = x3404
-x3406 = x3405
-x3407 = x3406
-x3408 = x3407
-x3409 = x3408
-x3410 = x3409
-x3411 = x3410
-x3412 = x3411
-x3413 = x3412
-x3414 = x3413
-x3415 = x3414
-x3416 = x3415
-x3417 = x3416
-x3418 = x3417
-x3419 = x3418
-x3420 = x3419
-x3421 = x3420
-x3422 = x3421
-x3423 = x3422
-x3424 = x3423
-x3425 = x3424
-x3426 = x3425
-x3427 = x3426
-x3428 = x3427
-x3429 = x3428
-x3430 = x3429
-x3431 = x3430
-x3432 = x3431
-x3433 = x3432
-x3434 = x3433
-x3435 = x3434
-x3436 = x3435
-x3437 = x3436
-x3438 = x3437
-x3439 = x3438
-x3440 = x3439
-x3441 = x3440
-x3442 = x3441
-x3443 = x3442
-x3444 = x3443
-x3445 = x3444
-x3446 = x3445
-x3447 = x3446
-x3448 = x3447
-x3449 = x3448
-x3450 = x3449
-x3451 = x3450
-x3452 = x3451
-x3453 = x3452
-x3454 = x3453
-x3455 = x3454
-x3456 = x3455
-x3457 = x3456
-x3458 = x3457
-x3459 = x3458
-x3460 = x3459
-x3461 = x3460
-x3462 = x3461
-x3463 = x3462
-x3464 = x3463
-x3465 = x3464
-x3466 = x3465
-x3467 = x3466
-x3468 = x3467
-x3469 = x3468
-x3470 = x3469
-x3471 = x3470
-x3472 = x3471
-x3473 = x3472
-x3474 = x3473
-x3475 = x3474
-x3476 = x3475
-x3477 = x3476
-x3478 = x3477
-x3479 = x3478
-x3480 = x3479
-x3481 = x3480
-x3482 = x3481
-x3483 = x3482
-x3484 = x3483
-x3485 = x3484
-x3486 = x3485
-x3487 = x3486
-x3488 = x3487
-x3489 = x3488
-x3490 = x3489
-x3491 = x3490
-x3492 = x3491
-x3493 = x3492
-x3494 = x3493
-x3495 = x3494
-x3496 = x3495
-x3497 = x3496
-x3498 = x3497
-x3499 = x3498
-x3500 = x3499
-x3501 = x3500
-x3502 = x3501
-x3503 = x3502
-x3504 = x3503
-x3505 = x3504
-x3506 = x3505
-x3507 = x3506
-x3508 = x3507
-x3509 = x3508
-x3510 = x3509
-x3511 = x3510
-x3512 = x3511
-x3513 = x3512
-x3514 = x3513
-x3515 = x3514
-x3516 = x3515
-x3517 = x3516
-x3518 = x3517
-x3519 = x3518
-x3520 = x3519
-x3521 = x3520
-x3522 = x3521
-x3523 = x3522
-x3524 = x3523
-x3525 = x3524
-x3526 = x3525
-x3527 = x3526
-x3528 = x3527
-x3529 = x3528
-x3530 = x3529
-x3531 = x3530
-x3532 = x3531
-x3533 = x3532
-x3534 = x3533
-x3535 = x3534
-x3536 = x3535
-x3537 = x3536
-x3538 = x3537
-x3539 = x3538
-x3540 = x3539
-x3541 = x3540
-x3542 = x3541
-x3543 = x3542
-x3544 = x3543
-x3545 = x3544
-x3546 = x3545
-x3547 = x3546
-x3548 = x3547
-x3549 = x3548
-x3550 = x3549
-x3551 = x3550
-x3552 = x3551
-x3553 = x3552
-x3554 = x3553
-x3555 = x3554
-x3556 = x3555
-x3557 = x3556
-x3558 = x3557
-x3559 = x3558
-x3560 = x3559
-x3561 = x3560
-x3562 = x3561
-x3563 = x3562
-x3564 = x3563
-x3565 = x3564
-x3566 = x3565
-x3567 = x3566
-x3568 = x3567
-x3569 = x3568
-x3570 = x3569
-x3571 = x3570
-x3572 = x3571
-x3573 = x3572
-x3574 = x3573
-x3575 = x3574
-x3576 = x3575
-x3577 = x3576
-x3578 = x3577
-x3579 = x3578
-x3580 = x3579
-x3581 = x3580
-x3582 = x3581
-x3583 = x3582
-x3584 = x3583
-x3585 = x3584
-x3586 = x3585
-x3587 = x3586
-x3588 = x3587
-x3589 = x3588
-x3590 = x3589
-x3591 = x3590
-x3592 = x3591
-x3593 = x3592
-x3594 = x3593
-x3595 = x3594
-x3596 = x3595
-x3597 = x3596
-x3598 = x3597
-x3599 = x3598
-x3600 = x3599
-x3601 = x3600
-x3602 = x3601
-x3603 = x3602
-x3604 = x3603
-x3605 = x3604
-x3606 = x3605
-x3607 = x3606
-x3608 = x3607
-x3609 = x3608
-x3610 = x3609
-x3611 = x3610
-x3612 = x3611
-x3613 = x3612
-x3614 = x3613
-x3615 = x3614
-x3616 = x3615
-x3617 = x3616
-x3618 = x3617
-x3619 = x3618
-x3620 = x3619
-x3621 = x3620
-x3622 = x3621
-x3623 = x3622
-x3624 = x3623
-x3625 = x3624
-x3626 = x3625
-x3627 = x3626
-x3628 = x3627
-x3629 = x3628
-x3630 = x3629
-x3631 = x3630
-x3632 = x3631
-x3633 = x3632
-x3634 = x3633
-x3635 = x3634
-x3636 = x3635
-x3637 = x3636
-x3638 = x3637
-x3639 = x3638
-x3640 = x3639
-x3641 = x3640
-x3642 = x3641
-x3643 = x3642
-x3644 = x3643
-x3645 = x3644
-x3646 = x3645
-x3647 = x3646
-x3648 = x3647
-x3649 = x3648
-x3650 = x3649
-x3651 = x3650
-x3652 = x3651
-x3653 = x3652
-x3654 = x3653
-x3655 = x3654
-x3656 = x3655
-x3657 = x3656
-x3658 = x3657
-x3659 = x3658
-x3660 = x3659
-x3661 = x3660
-x3662 = x3661
-x3663 = x3662
-x3664 = x3663
-x3665 = x3664
-x3666 = x3665
-x3667 = x3666
-x3668 = x3667
-x3669 = x3668
-x3670 = x3669
-x3671 = x3670
-x3672 = x3671
-x3673 = x3672
-x3674 = x3673
-x3675 = x3674
-x3676 = x3675
-x3677 = x3676
-x3678 = x3677
-x3679 = x3678
-x3680 = x3679
-x3681 = x3680
-x3682 = x3681
-x3683 = x3682
-x3684 = x3683
-x3685 = x3684
-x3686 = x3685
-x3687 = x3686
-x3688 = x3687
-x3689 = x3688
-x3690 = x3689
-x3691 = x3690
-x3692 = x3691
-x3693 = x3692
-x3694 = x3693
-x3695 = x3694
-x3696 = x3695
-x3697 = x3696
-x3698 = x3697
-x3699 = x3698
-x3700 = x3699
-x3701 = x3700
-x3702 = x3701
-x3703 = x3702
-x3704 = x3703
-x3705 = x3704
-x3706 = x3705
-x3707 = x3706
-x3708 = x3707
-x3709 = x3708
-x3710 = x3709
-x3711 = x3710
-x3712 = x3711
-x3713 = x3712
-x3714 = x3713
-x3715 = x3714
-x3716 = x3715
-x3717 = x3716
-x3718 = x3717
-x3719 = x3718
-x3720 = x3719
-x3721 = x3720
-x3722 = x3721
-x3723 = x3722
-x3724 = x3723
-x3725 = x3724
-x3726 = x3725
-x3727 = x3726
-x3728 = x3727
-x3729 = x3728
-x3730 = x3729
-x3731 = x3730
-x3732 = x3731
-x3733 = x3732
-x3734 = x3733
-x3735 = x3734
-x3736 = x3735
-x3737 = x3736
-x3738 = x3737
-x3739 = x3738
-x3740 = x3739
-x3741 = x3740
-x3742 = x3741
-x3743 = x3742
-x3744 = x3743
-x3745 = x3744
-x3746 = x3745
-x3747 = x3746
-x3748 = x3747
-x3749 = x3748
-x3750 = x3749
-x3751 = x3750
-x3752 = x3751
-x3753 = x3752
-x3754 = x3753
-x3755 = x3754
-x3756 = x3755
-x3757 = x3756
-x3758 = x3757
-x3759 = x3758
-x3760 = x3759
-x3761 = x3760
-x3762 = x3761
-x3763 = x3762
-x3764 = x3763
-x3765 = x3764
-x3766 = x3765
-x3767 = x3766
-x3768 = x3767
-x3769 = x3768
-x3770 = x3769
-x3771 = x3770
-x3772 = x3771
-x3773 = x3772
-x3774 = x3773
-x3775 = x3774
-x3776 = x3775
-x3777 = x3776
-x3778 = x3777
-x3779 = x3778
-x3780 = x3779
-x3781 = x3780
-x3782 = x3781
-x3783 = x3782
-x3784 = x3783
-x3785 = x3784
-x3786 = x3785
-x3787 = x3786
-x3788 = x3787
-x3789 = x3788
-x3790 = x3789
-x3791 = x3790
-x3792 = x3791
-x3793 = x3792
-x3794 = x3793
-x3795 = x3794
-x3796 = x3795
-x3797 = x3796
-x3798 = x3797
-x3799 = x3798
-x3800 = x3799
-x3801 = x3800
-x3802 = x3801
-x3803 = x3802
-x3804 = x3803
-x3805 = x3804
-x3806 = x3805
-x3807 = x3806
-x3808 = x3807
-x3809 = x3808
-x3810 = x3809
-x3811 = x3810
-x3812 = x3811
-x3813 = x3812
-x3814 = x3813
-x3815 = x3814
-x3816 = x3815
-x3817 = x3816
-x3818 = x3817
-x3819 = x3818
-x3820 = x3819
-x3821 = x3820
-x3822 = x3821
-x3823 = x3822
-x3824 = x3823
-x3825 = x3824
-x3826 = x3825
-x3827 = x3826
-x3828 = x3827
-x3829 = x3828
-x3830 = x3829
-x3831 = x3830
-x3832 = x3831
-x3833 = x3832
-x3834 = x3833
-x3835 = x3834
-x3836 = x3835
-x3837 = x3836
-x3838 = x3837
-x3839 = x3838
-x3840 = x3839
-x3841 = x3840
-x3842 = x3841
-x3843 = x3842
-x3844 = x3843
-x3845 = x3844
-x3846 = x3845
-x3847 = x3846
-x3848 = x3847
-x3849 = x3848
-x3850 = x3849
-x3851 = x3850
-x3852 = x3851
-x3853 = x3852
-x3854 = x3853
-x3855 = x3854
-x3856 = x3855
-x3857 = x3856
-x3858 = x3857
-x3859 = x3858
-x3860 = x3859
-x3861 = x3860
-x3862 = x3861
-x3863 = x3862
-x3864 = x3863
-x3865 = x3864
-x3866 = x3865
-x3867 = x3866
-x3868 = x3867
-x3869 = x3868
-x3870 = x3869
-x3871 = x3870
-x3872 = x3871
-x3873 = x3872
-x3874 = x3873
-x3875 = x3874
-x3876 = x3875
-x3877 = x3876
-x3878 = x3877
-x3879 = x3878
-x3880 = x3879
-x3881 = x3880
-x3882 = x3881
-x3883 = x3882
-x3884 = x3883
-x3885 = x3884
-x3886 = x3885
-x3887 = x3886
-x3888 = x3887
-x3889 = x3888
-x3890 = x3889
-x3891 = x3890
-x3892 = x3891
-x3893 = x3892
-x3894 = x3893
-x3895 = x3894
-x3896 = x3895
-x3897 = x3896
-x3898 = x3897
-x3899 = x3898
-x3900 = x3899
-x3901 = x3900
-x3902 = x3901
-x3903 = x3902
-x3904 = x3903
-x3905 = x3904
-x3906 = x3905
-x3907 = x3906
-x3908 = x3907
-x3909 = x3908
-x3910 = x3909
-x3911 = x3910
-x3912 = x3911
-x3913 = x3912
-x3914 = x3913
-x3915 = x3914
-x3916 = x3915
-x3917 = x3916
-x3918 = x3917
-x3919 = x3918
-x3920 = x3919
-x3921 = x3920
-x3922 = x3921
-x3923 = x3922
-x3924 = x3923
-x3925 = x3924
-x3926 = x3925
-x3927 = x3926
-x3928 = x3927
-x3929 = x3928
-x3930 = x3929
-x3931 = x3930
-x3932 = x3931
-x3933 = x3932
-x3934 = x3933
-x3935 = x3934
-x3936 = x3935
-x3937 = x3936
-x3938 = x3937
-x3939 = x3938
-x3940 = x3939
-x3941 = x3940
-x3942 = x3941
-x3943 = x3942
-x3944 = x3943
-x3945 = x3944
-x3946 = x3945
-x3947 = x3946
-x3948 = x3947
-x3949 = x3948
-x3950 = x3949
-x3951 = x3950
-x3952 = x3951
-x3953 = x3952
-x3954 = x3953
-x3955 = x3954
-x3956 = x3955
-x3957 = x3956
-x3958 = x3957
-x3959 = x3958
-x3960 = x3959
-x3961 = x3960
-x3962 = x3961
-x3963 = x3962
-x3964 = x3963
-x3965 = x3964
-x3966 = x3965
-x3967 = x3966
-x3968 = x3967
-x3969 = x3968
-x3970 = x3969
-x3971 = x3970
-x3972 = x3971
-x3973 = x3972
-x3974 = x3973
-x3975 = x3974
-x3976 = x3975
-x3977 = x3976
-x3978 = x3977
-x3979 = x3978
-x3980 = x3979
-x3981 = x3980
-x3982 = x3981
-x3983 = x3982
-x3984 = x3983
-x3985 = x3984
-x3986 = x3985
-x3987 = x3986
-x3988 = x3987
-x3989 = x3988
-x3990 = x3989
-x3991 = x3990
-x3992 = x3991
-x3993 = x3992
-x3994 = x3993
-x3995 = x3994
-x3996 = x3995
-x3997 = x3996
-x3998 = x3997
-x3999 = x3998
-x4000 = x3999
-x4001 = x4000
-x4002 = x4001
-x4003 = x4002
-x4004 = x4003
-x4005 = x4004
-x4006 = x4005
-x4007 = x4006
-x4008 = x4007
-x4009 = x4008
-x4010 = x4009
-x4011 = x4010
-x4012 = x4011
-x4013 = x4012
-x4014 = x4013
-x4015 = x4014
-x4016 = x4015
-x4017 = x4016
-x4018 = x4017
-x4019 = x4018
-x4020 = x4019
-x4021 = x4020
-x4022 = x4021
-x4023 = x4022
-x4024 = x4023
-x4025 = x4024
-x4026 = x4025
-x4027 = x4026
-x4028 = x4027
-x4029 = x4028
-x4030 = x4029
-x4031 = x4030
-x4032 = x4031
-x4033 = x4032
-x4034 = x4033
-x4035 = x4034
-x4036 = x4035
-x4037 = x4036
-x4038 = x4037
-x4039 = x4038
-x4040 = x4039
-x4041 = x4040
-x4042 = x4041
-x4043 = x4042
-x4044 = x4043
-x4045 = x4044
-x4046 = x4045
-x4047 = x4046
-x4048 = x4047
-x4049 = x4048
-x4050 = x4049
-x4051 = x4050
-x4052 = x4051
-x4053 = x4052
-x4054 = x4053
-x4055 = x4054
-x4056 = x4055
-x4057 = x4056
-x4058 = x4057
-x4059 = x4058
-x4060 = x4059
-x4061 = x4060
-x4062 = x4061
-x4063 = x4062
-x4064 = x4063
-x4065 = x4064
-x4066 = x4065
-x4067 = x4066
-x4068 = x4067
-x4069 = x4068
-x4070 = x4069
-x4071 = x4070
-x4072 = x4071
-x4073 = x4072
-x4074 = x4073
-x4075 = x4074
-x4076 = x4075
-x4077 = x4076
-x4078 = x4077
-x4079 = x4078
-x4080 = x4079
-x4081 = x4080
-x4082 = x4081
-x4083 = x4082
-x4084 = x4083
-x4085 = x4084
-x4086 = x4085
-x4087 = x4086
-x4088 = x4087
-x4089 = x4088
-x4090 = x4089
-x4091 = x4090
-x4092 = x4091
-x4093 = x4092
-x4094 = x4093
-x4095 = x4094
-x4096 = x4095
-x4097 = x4096
-x4098 = x4097
-x4099 = x4098
-x4100 = x4099
-x4101 = x4100
-x4102 = x4101
-x4103 = x4102
-x4104 = x4103
-x4105 = x4104
-x4106 = x4105
-x4107 = x4106
-x4108 = x4107
-x4109 = x4108
-x4110 = x4109
-x4111 = x4110
-x4112 = x4111
-x4113 = x4112
-x4114 = x4113
-x4115 = x4114
-x4116 = x4115
-x4117 = x4116
-x4118 = x4117
-x4119 = x4118
-x4120 = x4119
-x4121 = x4120
-x4122 = x4121
-x4123 = x4122
-x4124 = x4123
-x4125 = x4124
-x4126 = x4125
-x4127 = x4126
-x4128 = x4127
-x4129 = x4128
-x4130 = x4129
-x4131 = x4130
-x4132 = x4131
-x4133 = x4132
-x4134 = x4133
-x4135 = x4134
-x4136 = x4135
-x4137 = x4136
-x4138 = x4137
-x4139 = x4138
-x4140 = x4139
-x4141 = x4140
-x4142 = x4141
-x4143 = x4142
-x4144 = x4143
-x4145 = x4144
-x4146 = x4145
-x4147 = x4146
-x4148 = x4147
-x4149 = x4148
-x4150 = x4149
-x4151 = x4150
-x4152 = x4151
-x4153 = x4152
-x4154 = x4153
-x4155 = x4154
-x4156 = x4155
-x4157 = x4156
-x4158 = x4157
-x4159 = x4158
-x4160 = x4159
-x4161 = x4160
-x4162 = x4161
-x4163 = x4162
-x4164 = x4163
-x4165 = x4164
-x4166 = x4165
-x4167 = x4166
-x4168 = x4167
-x4169 = x4168
-x4170 = x4169
-x4171 = x4170
-x4172 = x4171
-x4173 = x4172
-x4174 = x4173
-x4175 = x4174
-x4176 = x4175
-x4177 = x4176
-x4178 = x4177
-x4179 = x4178
-x4180 = x4179
-x4181 = x4180
-x4182 = x4181
-x4183 = x4182
-x4184 = x4183
-x4185 = x4184
-x4186 = x4185
-x4187 = x4186
-x4188 = x4187
-x4189 = x4188
-x4190 = x4189
-x4191 = x4190
-x4192 = x4191
-x4193 = x4192
-x4194 = x4193
-x4195 = x4194
-x4196 = x4195
-x4197 = x4196
-x4198 = x4197
-x4199 = x4198
-x4200 = x4199
-x4201 = x4200
-x4202 = x4201
-x4203 = x4202
-x4204 = x4203
-x4205 = x4204
-x4206 = x4205
-x4207 = x4206
-x4208 = x4207
-x4209 = x4208
-x4210 = x4209
-x4211 = x4210
-x4212 = x4211
-x4213 = x4212
-x4214 = x4213
-x4215 = x4214
-x4216 = x4215
-x4217 = x4216
-x4218 = x4217
-x4219 = x4218
-x4220 = x4219
-x4221 = x4220
-x4222 = x4221
-x4223 = x4222
-x4224 = x4223
-x4225 = x4224
-x4226 = x4225
-x4227 = x4226
-x4228 = x4227
-x4229 = x4228
-x4230 = x4229
-x4231 = x4230
-x4232 = x4231
-x4233 = x4232
-x4234 = x4233
-x4235 = x4234
-x4236 = x4235
-x4237 = x4236
-x4238 = x4237
-x4239 = x4238
-x4240 = x4239
-x4241 = x4240
-x4242 = x4241
-x4243 = x4242
-x4244 = x4243
-x4245 = x4244
-x4246 = x4245
-x4247 = x4246
-x4248 = x4247
-x4249 = x4248
-x4250 = x4249
-x4251 = x4250
-x4252 = x4251
-x4253 = x4252
-x4254 = x4253
-x4255 = x4254
-x4256 = x4255
-x4257 = x4256
-x4258 = x4257
-x4259 = x4258
-x4260 = x4259
-x4261 = x4260
-x4262 = x4261
-x4263 = x4262
-x4264 = x4263
-x4265 = x4264
-x4266 = x4265
-x4267 = x4266
-x4268 = x4267
-x4269 = x4268
-x4270 = x4269
-x4271 = x4270
-x4272 = x4271
-x4273 = x4272
-x4274 = x4273
-x4275 = x4274
-x4276 = x4275
-x4277 = x4276
-x4278 = x4277
-x4279 = x4278
-x4280 = x4279
-x4281 = x4280
-x4282 = x4281
-x4283 = x4282
-x4284 = x4283
-x4285 = x4284
-x4286 = x4285
-x4287 = x4286
-x4288 = x4287
-x4289 = x4288
-x4290 = x4289
-x4291 = x4290
-x4292 = x4291
-x4293 = x4292
-x4294 = x4293
-x4295 = x4294
-x4296 = x4295
-x4297 = x4296
-x4298 = x4297
-x4299 = x4298
-x4300 = x4299
-x4301 = x4300
-x4302 = x4301
-x4303 = x4302
-x4304 = x4303
-x4305 = x4304
-x4306 = x4305
-x4307 = x4306
-x4308 = x4307
-x4309 = x4308
-x4310 = x4309
-x4311 = x4310
-x4312 = x4311
-x4313 = x4312
-x4314 = x4313
-x4315 = x4314
-x4316 = x4315
-x4317 = x4316
-x4318 = x4317
-x4319 = x4318
-x4320 = x4319
-x4321 = x4320
-x4322 = x4321
-x4323 = x4322
-x4324 = x4323
-x4325 = x4324
-x4326 = x4325
-x4327 = x4326
-x4328 = x4327
-x4329 = x4328
-x4330 = x4329
-x4331 = x4330
-x4332 = x4331
-x4333 = x4332
-x4334 = x4333
-x4335 = x4334
-x4336 = x4335
-x4337 = x4336
-x4338 = x4337
-x4339 = x4338
-x4340 = x4339
-x4341 = x4340
-x4342 = x4341
-x4343 = x4342
-x4344 = x4343
-x4345 = x4344
-x4346 = x4345
-x4347 = x4346
-x4348 = x4347
-x4349 = x4348
-x4350 = x4349
-x4351 = x4350
-x4352 = x4351
-x4353 = x4352
-x4354 = x4353
-x4355 = x4354
-x4356 = x4355
-x4357 = x4356
-x4358 = x4357
-x4359 = x4358
-x4360 = x4359
-x4361 = x4360
-x4362 = x4361
-x4363 = x4362
-x4364 = x4363
-x4365 = x4364
-x4366 = x4365
-x4367 = x4366
-x4368 = x4367
-x4369 = x4368
-x4370 = x4369
-x4371 = x4370
-x4372 = x4371
-x4373 = x4372
-x4374 = x4373
-x4375 = x4374
-x4376 = x4375
-x4377 = x4376
-x4378 = x4377
-x4379 = x4378
-x4380 = x4379
-x4381 = x4380
-x4382 = x4381
-x4383 = x4382
-x4384 = x4383
-x4385 = x4384
-x4386 = x4385
-x4387 = x4386
-x4388 = x4387
-x4389 = x4388
-x4390 = x4389
-x4391 = x4390
-x4392 = x4391
-x4393 = x4392
-x4394 = x4393
-x4395 = x4394
-x4396 = x4395
-x4397 = x4396
-x4398 = x4397
-x4399 = x4398
-x4400 = x4399
-x4401 = x4400
-x4402 = x4401
-x4403 = x4402
-x4404 = x4403
-x4405 = x4404
-x4406 = x4405
-x4407 = x4406
-x4408 = x4407
-x4409 = x4408
-x4410 = x4409
-x4411 = x4410
-x4412 = x4411
-x4413 = x4412
-x4414 = x4413
-x4415 = x4414
-x4416 = x4415
-x4417 = x4416
-x4418 = x4417
-x4419 = x4418
-x4420 = x4419
-x4421 = x4420
-x4422 = x4421
-x4423 = x4422
-x4424 = x4423
-x4425 = x4424
-x4426 = x4425
-x4427 = x4426
-x4428 = x4427
-x4429 = x4428
-x4430 = x4429
-x4431 = x4430
-x4432 = x4431
-x4433 = x4432
-x4434 = x4433
-x4435 = x4434
-x4436 = x4435
-x4437 = x4436
-x4438 = x4437
-x4439 = x4438
-x4440 = x4439
-x4441 = x4440
-x4442 = x4441
-x4443 = x4442
-x4444 = x4443
-x4445 = x4444
-x4446 = x4445
-x4447 = x4446
-x4448 = x4447
-x4449 = x4448
-x4450 = x4449
-x4451 = x4450
-x4452 = x4451
-x4453 = x4452
-x4454 = x4453
-x4455 = x4454
-x4456 = x4455
-x4457 = x4456
-x4458 = x4457
-x4459 = x4458
-x4460 = x4459
-x4461 = x4460
-x4462 = x4461
-x4463 = x4462
-x4464 = x4463
-x4465 = x4464
-x4466 = x4465
-x4467 = x4466
-x4468 = x4467
-x4469 = x4468
-x4470 = x4469
-x4471 = x4470
-x4472 = x4471
-x4473 = x4472
-x4474 = x4473
-x4475 = x4474
-x4476 = x4475
-x4477 = x4476
-x4478 = x4477
-x4479 = x4478
-x4480 = x4479
-x4481 = x4480
-x4482 = x4481
-x4483 = x4482
-x4484 = x4483
-x4485 = x4484
-x4486 = x4485
-x4487 = x4486
-x4488 = x4487
-x4489 = x4488
-x4490 = x4489
-x4491 = x4490
-x4492 = x4491
-x4493 = x4492
-x4494 = x4493
-x4495 = x4494
-x4496 = x4495
-x4497 = x4496
-x4498 = x4497
-x4499 = x4498
-x4500 = x4499
-x4501 = x4500
-x4502 = x4501
-x4503 = x4502
-x4504 = x4503
-x4505 = x4504
-x4506 = x4505
-x4507 = x4506
-x4508 = x4507
-x4509 = x4508
-x4510 = x4509
-x4511 = x4510
-x4512 = x4511
-x4513 = x4512
-x4514 = x4513
-x4515 = x4514
-x4516 = x4515
-x4517 = x4516
-x4518 = x4517
-x4519 = x4518
-x4520 = x4519
-x4521 = x4520
-x4522 = x4521
-x4523 = x4522
-x4524 = x4523
-x4525 = x4524
-x4526 = x4525
-x4527 = x4526
-x4528 = x4527
-x4529 = x4528
-x4530 = x4529
-x4531 = x4530
-x4532 = x4531
-x4533 = x4532
-x4534 = x4533
-x4535 = x4534
-x4536 = x4535
-x4537 = x4536
-x4538 = x4537
-x4539 = x4538
-x4540 = x4539
-x4541 = x4540
-x4542 = x4541
-x4543 = x4542
-x4544 = x4543
-x4545 = x4544
-x4546 = x4545
-x4547 = x4546
-x4548 = x4547
-x4549 = x4548
-x4550 = x4549
-x4551 = x4550
-x4552 = x4551
-x4553 = x4552
-x4554 = x4553
-x4555 = x4554
-x4556 = x4555
-x4557 = x4556
-x4558 = x4557
-x4559 = x4558
-x4560 = x4559
-x4561 = x4560
-x4562 = x4561
-x4563 = x4562
-x4564 = x4563
-x4565 = x4564
-x4566 = x4565
-x4567 = x4566
-x4568 = x4567
-x4569 = x4568
-x4570 = x4569
-x4571 = x4570
-x4572 = x4571
-x4573 = x4572
-x4574 = x4573
-x4575 = x4574
-x4576 = x4575
-x4577 = x4576
-x4578 = x4577
-x4579 = x4578
-x4580 = x4579
-x4581 = x4580
-x4582 = x4581
-x4583 = x4582
-x4584 = x4583
-x4585 = x4584
-x4586 = x4585
-x4587 = x4586
-x4588 = x4587
-x4589 = x4588
-x4590 = x4589
-x4591 = x4590
-x4592 = x4591
-x4593 = x4592
-x4594 = x4593
-x4595 = x4594
-x4596 = x4595
-x4597 = x4596
-x4598 = x4597
-x4599 = x4598
-x4600 = x4599
-x4601 = x4600
-x4602 = x4601
-x4603 = x4602
-x4604 = x4603
-x4605 = x4604
-x4606 = x4605
-x4607 = x4606
-x4608 = x4607
-x4609 = x4608
-x4610 = x4609
-x4611 = x4610
-x4612 = x4611
-x4613 = x4612
-x4614 = x4613
-x4615 = x4614
-x4616 = x4615
-x4617 = x4616
-x4618 = x4617
-x4619 = x4618
-x4620 = x4619
-x4621 = x4620
-x4622 = x4621
-x4623 = x4622
-x4624 = x4623
-x4625 = x4624
-x4626 = x4625
-x4627 = x4626
-x4628 = x4627
-x4629 = x4628
-x4630 = x4629
-x4631 = x4630
-x4632 = x4631
-x4633 = x4632
-x4634 = x4633
-x4635 = x4634
-x4636 = x4635
-x4637 = x4636
-x4638 = x4637
-x4639 = x4638
-x4640 = x4639
-x4641 = x4640
-x4642 = x4641
-x4643 = x4642
-x4644 = x4643
-x4645 = x4644
-x4646 = x4645
-x4647 = x4646
-x4648 = x4647
-x4649 = x4648
-x4650 = x4649
-x4651 = x4650
-x4652 = x4651
-x4653 = x4652
-x4654 = x4653
-x4655 = x4654
-x4656 = x4655
-x4657 = x4656
-x4658 = x4657
-x4659 = x4658
-x4660 = x4659
-x4661 = x4660
-x4662 = x4661
-x4663 = x4662
-x4664 = x4663
-x4665 = x4664
-x4666 = x4665
-x4667 = x4666
-x4668 = x4667
-x4669 = x4668
-x4670 = x4669
-x4671 = x4670
-x4672 = x4671
-x4673 = x4672
-x4674 = x4673
-x4675 = x4674
-x4676 = x4675
-x4677 = x4676
-x4678 = x4677
-x4679 = x4678
-x4680 = x4679
-x4681 = x4680
-x4682 = x4681
-x4683 = x4682
-x4684 = x4683
-x4685 = x4684
-x4686 = x4685
-x4687 = x4686
-x4688 = x4687
-x4689 = x4688
-x4690 = x4689
-x4691 = x4690
-x4692 = x4691
-x4693 = x4692
-x4694 = x4693
-x4695 = x4694
-x4696 = x4695
-x4697 = x4696
-x4698 = x4697
-x4699 = x4698
-x4700 = x4699
-x4701 = x4700
-x4702 = x4701
-x4703 = x4702
-x4704 = x4703
-x4705 = x4704
-x4706 = x4705
-x4707 = x4706
-x4708 = x4707
-x4709 = x4708
-x4710 = x4709
-x4711 = x4710
-x4712 = x4711
-x4713 = x4712
-x4714 = x4713
-x4715 = x4714
-x4716 = x4715
-x4717 = x4716
-x4718 = x4717
-x4719 = x4718
-x4720 = x4719
-x4721 = x4720
-x4722 = x4721
-x4723 = x4722
-x4724 = x4723
-x4725 = x4724
-x4726 = x4725
-x4727 = x4726
-x4728 = x4727
-x4729 = x4728
-x4730 = x4729
-x4731 = x4730
-x4732 = x4731
-x4733 = x4732
-x4734 = x4733
-x4735 = x4734
-x4736 = x4735
-x4737 = x4736
-x4738 = x4737
-x4739 = x4738
-x4740 = x4739
-x4741 = x4740
-x4742 = x4741
-x4743 = x4742
-x4744 = x4743
-x4745 = x4744
-x4746 = x4745
-x4747 = x4746
-x4748 = x4747
-x4749 = x4748
-x4750 = x4749
-x4751 = x4750
-x4752 = x4751
-x4753 = x4752
-x4754 = x4753
-x4755 = x4754
-x4756 = x4755
-x4757 = x4756
-x4758 = x4757
-x4759 = x4758
-x4760 = x4759
-x4761 = x4760
-x4762 = x4761
-x4763 = x4762
-x4764 = x4763
-x4765 = x4764
-x4766 = x4765
-x4767 = x4766
-x4768 = x4767
-x4769 = x4768
-x4770 = x4769
-x4771 = x4770
-x4772 = x4771
-x4773 = x4772
-x4774 = x4773
-x4775 = x4774
-x4776 = x4775
-x4777 = x4776
-x4778 = x4777
-x4779 = x4778
-x4780 = x4779
-x4781 = x4780
-x4782 = x4781
-x4783 = x4782
-x4784 = x4783
-x4785 = x4784
-x4786 = x4785
-x4787 = x4786
-x4788 = x4787
-x4789 = x4788
-x4790 = x4789
-x4791 = x4790
-x4792 = x4791
-x4793 = x4792
-x4794 = x4793
-x4795 = x4794
-x4796 = x4795
-x4797 = x4796
-x4798 = x4797
-x4799 = x4798
-x4800 = x4799
-x4801 = x4800
-x4802 = x4801
-x4803 = x4802
-x4804 = x4803
-x4805 = x4804
-x4806 = x4805
-x4807 = x4806
-x4808 = x4807
-x4809 = x4808
-x4810 = x4809
-x4811 = x4810
-x4812 = x4811
-x4813 = x4812
-x4814 = x4813
-x4815 = x4814
-x4816 = x4815
-x4817 = x4816
-x4818 = x4817
-x4819 = x4818
-x4820 = x4819
-x4821 = x4820
-x4822 = x4821
-x4823 = x4822
-x4824 = x4823
-x4825 = x4824
-x4826 = x4825
-x4827 = x4826
-x4828 = x4827
-x4829 = x4828
-x4830 = x4829
-x4831 = x4830
-x4832 = x4831
-x4833 = x4832
-x4834 = x4833
-x4835 = x4834
-x4836 = x4835
-x4837 = x4836
-x4838 = x4837
-x4839 = x4838
-x4840 = x4839
-x4841 = x4840
-x4842 = x4841
-x4843 = x4842
-x4844 = x4843
-x4845 = x4844
-x4846 = x4845
-x4847 = x4846
-x4848 = x4847
-x4849 = x4848
-x4850 = x4849
-x4851 = x4850
-x4852 = x4851
-x4853 = x4852
-x4854 = x4853
-x4855 = x4854
-x4856 = x4855
-x4857 = x4856
-x4858 = x4857
-x4859 = x4858
-x4860 = x4859
-x4861 = x4860
-x4862 = x4861
-x4863 = x4862
-x4864 = x4863
-x4865 = x4864
-x4866 = x4865
-x4867 = x4866
-x4868 = x4867
-x4869 = x4868
-x4870 = x4869
-x4871 = x4870
-x4872 = x4871
-x4873 = x4872
-x4874 = x4873
-x4875 = x4874
-x4876 = x4875
-x4877 = x4876
-x4878 = x4877
-x4879 = x4878
-x4880 = x4879
-x4881 = x4880
-x4882 = x4881
-x4883 = x4882
-x4884 = x4883
-x4885 = x4884
-x4886 = x4885
-x4887 = x4886
-x4888 = x4887
-x4889 = x4888
-x4890 = x4889
-x4891 = x4890
-x4892 = x4891
-x4893 = x4892
-x4894 = x4893
-x4895 = x4894
-x4896 = x4895
-x4897 = x4896
-x4898 = x4897
-x4899 = x4898
-x4900 = x4899
-x4901 = x4900
-x4902 = x4901
-x4903 = x4902
-x4904 = x4903
-x4905 = x4904
-x4906 = x4905
-x4907 = x4906
-x4908 = x4907
-x4909 = x4908
-x4910 = x4909
-x4911 = x4910
-x4912 = x4911
-x4913 = x4912
-x4914 = x4913
-x4915 = x4914
-x4916 = x4915
-x4917 = x4916
-x4918 = x4917
-x4919 = x4918
-x4920 = x4919
-x4921 = x4920
-x4922 = x4921
-x4923 = x4922
-x4924 = x4923
-x4925 = x4924
-x4926 = x4925
-x4927 = x4926
-x4928 = x4927
-x4929 = x4928
-x4930 = x4929
-x4931 = x4930
-x4932 = x4931
-x4933 = x4932
-x4934 = x4933
-x4935 = x4934
-x4936 = x4935
-x4937 = x4936
-x4938 = x4937
-x4939 = x4938
-x4940 = x4939
-x4941 = x4940
-x4942 = x4941
-x4943 = x4942
-x4944 = x4943
-x4945 = x4944
-x4946 = x4945
-x4947 = x4946
-x4948 = x4947
-x4949 = x4948
-x4950 = x4949
-x4951 = x4950
-x4952 = x4951
-x4953 = x4952
-x4954 = x4953
-x4955 = x4954
-x4956 = x4955
-x4957 = x4956
-x4958 = x4957
-x4959 = x4958
-x4960 = x4959
-x4961 = x4960
-x4962 = x4961
-x4963 = x4962
-x4964 = x4963
-x4965 = x4964
-x4966 = x4965
-x4967 = x4966
-x4968 = x4967
-x4969 = x4968
-x4970 = x4969
-x4971 = x4970
-x4972 = x4971
-x4973 = x4972
-x4974 = x4973
-x4975 = x4974
-x4976 = x4975
-x4977 = x4976
-x4978 = x4977
-x4979 = x4978
-x4980 = x4979
-x4981 = x4980
-x4982 = x4981
-x4983 = x4982
-x4984 = x4983
-x4985 = x4984
-x4986 = x4985
-x4987 = x4986
-x4988 = x4987
-x4989 = x4988
-x4990 = x4989
-x4991 = x4990
-x4992 = x4991
-x4993 = x4992
-x4994 = x4993
-x4995 = x4994
-x4996 = x4995
-x4997 = x4996
-x4998 = x4997
-x4999 = x4998
-x5000 = x4999
-x5001 = x5000
-x5002 = x5001
-x5003 = x5002
-x5004 = x5003
-x5005 = x5004
-x5006 = x5005
-x5007 = x5006
-x5008 = x5007
-x5009 = x5008
-x5010 = x5009
-x5011 = x5010
-x5012 = x5011
-x5013 = x5012
-x5014 = x5013
-x5015 = x5014
-x5016 = x5015
-x5017 = x5016
-x5018 = x5017
-x5019 = x5018
-x5020 = x5019
-x5021 = x5020
-x5022 = x5021
-x5023 = x5022
-x5024 = x5023
-x5025 = x5024
-x5026 = x5025
-x5027 = x5026
-x5028 = x5027
-x5029 = x5028
-x5030 = x5029
-x5031 = x5030
-x5032 = x5031
-x5033 = x5032
-x5034 = x5033
-x5035 = x5034
-x5036 = x5035
-x5037 = x5036
-x5038 = x5037
-x5039 = x5038
-x5040 = x5039
-x5041 = x5040
-x5042 = x5041
-x5043 = x5042
-x5044 = x5043
-x5045 = x5044
-x5046 = x5045
-x5047 = x5046
-x5048 = x5047
-x5049 = x5048
-x5050 = x5049
-x5051 = x5050
-x5052 = x5051
-x5053 = x5052
-x5054 = x5053
-x5055 = x5054
-x5056 = x5055
-x5057 = x5056
-x5058 = x5057
-x5059 = x5058
-x5060 = x5059
-x5061 = x5060
-x5062 = x5061
-x5063 = x5062
-x5064 = x5063
-x5065 = x5064
-x5066 = x5065
-x5067 = x5066
-x5068 = x5067
-x5069 = x5068
-x5070 = x5069
-x5071 = x5070
-x5072 = x5071
-x5073 = x5072
-x5074 = x5073
-x5075 = x5074
-x5076 = x5075
-x5077 = x5076
-x5078 = x5077
-x5079 = x5078
-x5080 = x5079
-x5081 = x5080
-x5082 = x5081
-x5083 = x5082
-x5084 = x5083
-x5085 = x5084
-x5086 = x5085
-x5087 = x5086
-x5088 = x5087
-x5089 = x5088
-x5090 = x5089
-x5091 = x5090
-x5092 = x5091
-x5093 = x5092
-x5094 = x5093
-x5095 = x5094
-x5096 = x5095
-x5097 = x5096
-x5098 = x5097
-x5099 = x5098
-x5100 = x5099
-x5101 = x5100
-x5102 = x5101
-x5103 = x5102
-x5104 = x5103
-x5105 = x5104
-x5106 = x5105
-x5107 = x5106
-x5108 = x5107
-x5109 = x5108
-x5110 = x5109
-x5111 = x5110
-x5112 = x5111
-x5113 = x5112
-x5114 = x5113
-x5115 = x5114
-x5116 = x5115
-x5117 = x5116
-x5118 = x5117
-x5119 = x5118
-x5120 = x5119
-x5121 = x5120
-x5122 = x5121
-x5123 = x5122
-x5124 = x5123
-x5125 = x5124
-x5126 = x5125
-x5127 = x5126
-x5128 = x5127
-x5129 = x5128
-x5130 = x5129
-x5131 = x5130
-x5132 = x5131
-x5133 = x5132
-x5134 = x5133
-x5135 = x5134
-x5136 = x5135
-x5137 = x5136
-x5138 = x5137
-x5139 = x5138
-x5140 = x5139
-x5141 = x5140
-x5142 = x5141
-x5143 = x5142
-x5144 = x5143
-x5145 = x5144
-x5146 = x5145
-x5147 = x5146
-x5148 = x5147
-x5149 = x5148
-x5150 = x5149
-x5151 = x5150
-x5152 = x5151
-x5153 = x5152
-x5154 = x5153
-x5155 = x5154
-x5156 = x5155
-x5157 = x5156
-x5158 = x5157
-x5159 = x5158
-x5160 = x5159
-x5161 = x5160
-x5162 = x5161
-x5163 = x5162
-x5164 = x5163
-x5165 = x5164
-x5166 = x5165
-x5167 = x5166
-x5168 = x5167
-x5169 = x5168
-x5170 = x5169
-x5171 = x5170
-x5172 = x5171
-x5173 = x5172
-x5174 = x5173
-x5175 = x5174
-x5176 = x5175
-x5177 = x5176
-x5178 = x5177
-x5179 = x5178
-x5180 = x5179
-x5181 = x5180
-x5182 = x5181
-x5183 = x5182
-x5184 = x5183
-x5185 = x5184
-x5186 = x5185
-x5187 = x5186
-x5188 = x5187
-x5189 = x5188
-x5190 = x5189
-x5191 = x5190
-x5192 = x5191
-x5193 = x5192
-x5194 = x5193
-x5195 = x5194
-x5196 = x5195
-x5197 = x5196
-x5198 = x5197
-x5199 = x5198
-x5200 = x5199
-x5201 = x5200
-x5202 = x5201
-x5203 = x5202
-x5204 = x5203
-x5205 = x5204
-x5206 = x5205
-x5207 = x5206
-x5208 = x5207
-x5209 = x5208
-x5210 = x5209
-x5211 = x5210
-x5212 = x5211
-x5213 = x5212
-x5214 = x5213
-x5215 = x5214
-x5216 = x5215
-x5217 = x5216
-x5218 = x5217
-x5219 = x5218
-x5220 = x5219
-x5221 = x5220
-x5222 = x5221
-x5223 = x5222
-x5224 = x5223
-x5225 = x5224
-x5226 = x5225
-x5227 = x5226
-x5228 = x5227
-x5229 = x5228
-x5230 = x5229
-x5231 = x5230
-x5232 = x5231
-x5233 = x5232
-x5234 = x5233
-x5235 = x5234
-x5236 = x5235
-x5237 = x5236
-x5238 = x5237
-x5239 = x5238
-x5240 = x5239
-x5241 = x5240
-x5242 = x5241
-x5243 = x5242
-x5244 = x5243
-x5245 = x5244
-x5246 = x5245
-x5247 = x5246
-x5248 = x5247
-x5249 = x5248
-x5250 = x5249
-x5251 = x5250
-x5252 = x5251
-x5253 = x5252
-x5254 = x5253
-x5255 = x5254
-x5256 = x5255
-x5257 = x5256
-x5258 = x5257
-x5259 = x5258
-x5260 = x5259
-x5261 = x5260
-x5262 = x5261
-x5263 = x5262
-x5264 = x5263
-x5265 = x5264
-x5266 = x5265
-x5267 = x5266
-x5268 = x5267
-x5269 = x5268
-x5270 = x5269
-x5271 = x5270
-x5272 = x5271
-x5273 = x5272
-x5274 = x5273
-x5275 = x5274
-x5276 = x5275
-x5277 = x5276
-x5278 = x5277
-x5279 = x5278
-x5280 = x5279
-x5281 = x5280
-x5282 = x5281
-x5283 = x5282
-x5284 = x5283
-x5285 = x5284
-x5286 = x5285
-x5287 = x5286
-x5288 = x5287
-x5289 = x5288
-x5290 = x5289
-x5291 = x5290
-x5292 = x5291
-x5293 = x5292
-x5294 = x5293
-x5295 = x5294
-x5296 = x5295
-x5297 = x5296
-x5298 = x5297
-x5299 = x5298
-x5300 = x5299
-x5301 = x5300
-x5302 = x5301
-x5303 = x5302
-x5304 = x5303
-x5305 = x5304
-x5306 = x5305
-x5307 = x5306
-x5308 = x5307
-x5309 = x5308
-x5310 = x5309
-x5311 = x5310
-x5312 = x5311
-x5313 = x5312
-x5314 = x5313
-x5315 = x5314
-x5316 = x5315
-x5317 = x5316
-x5318 = x5317
-x5319 = x5318
-x5320 = x5319
-x5321 = x5320
-x5322 = x5321
-x5323 = x5322
-x5324 = x5323
-x5325 = x5324
-x5326 = x5325
-x5327 = x5326
-x5328 = x5327
-x5329 = x5328
-x5330 = x5329
-x5331 = x5330
-x5332 = x5331
-x5333 = x5332
-x5334 = x5333
-x5335 = x5334
-x5336 = x5335
-x5337 = x5336
-x5338 = x5337
-x5339 = x5338
-x5340 = x5339
-x5341 = x5340
-x5342 = x5341
-x5343 = x5342
-x5344 = x5343
-x5345 = x5344
-x5346 = x5345
-x5347 = x5346
-x5348 = x5347
-x5349 = x5348
-x5350 = x5349
-x5351 = x5350
-x5352 = x5351
-x5353 = x5352
-x5354 = x5353
-x5355 = x5354
-x5356 = x5355
-x5357 = x5356
-x5358 = x5357
-x5359 = x5358
-x5360 = x5359
-x5361 = x5360
-x5362 = x5361
-x5363 = x5362
-x5364 = x5363
-x5365 = x5364
-x5366 = x5365
-x5367 = x5366
-x5368 = x5367
-x5369 = x5368
-x5370 = x5369
-x5371 = x5370
-x5372 = x5371
-x5373 = x5372
-x5374 = x5373
-x5375 = x5374
-x5376 = x5375
-x5377 = x5376
-x5378 = x5377
-x5379 = x5378
-x5380 = x5379
-x5381 = x5380
-x5382 = x5381
-x5383 = x5382
-x5384 = x5383
-x5385 = x5384
-x5386 = x5385
-x5387 = x5386
-x5388 = x5387
-x5389 = x5388
-x5390 = x5389
-x5391 = x5390
-x5392 = x5391
-x5393 = x5392
-x5394 = x5393
-x5395 = x5394
-x5396 = x5395
-x5397 = x5396
-x5398 = x5397
-x5399 = x5398
-x5400 = x5399
-x5401 = x5400
-x5402 = x5401
-x5403 = x5402
-x5404 = x5403
-x5405 = x5404
-x5406 = x5405
-x5407 = x5406
-x5408 = x5407
-x5409 = x5408
-x5410 = x5409
-x5411 = x5410
-x5412 = x5411
-x5413 = x5412
-x5414 = x5413
-x5415 = x5414
-x5416 = x5415
-x5417 = x5416
-x5418 = x5417
-x5419 = x5418
-x5420 = x5419
-x5421 = x5420
-x5422 = x5421
-x5423 = x5422
-x5424 = x5423
-x5425 = x5424
-x5426 = x5425
-x5427 = x5426
-x5428 = x5427
-x5429 = x5428
-x5430 = x5429
-x5431 = x5430
-x5432 = x5431
-x5433 = x5432
-x5434 = x5433
-x5435 = x5434
-x5436 = x5435
-x5437 = x5436
-x5438 = x5437
-x5439 = x5438
-x5440 = x5439
-x5441 = x5440
-x5442 = x5441
-x5443 = x5442
-x5444 = x5443
-x5445 = x5444
-x5446 = x5445
-x5447 = x5446
-x5448 = x5447
-x5449 = x5448
-x5450 = x5449
-x5451 = x5450
-x5452 = x5451
-x5453 = x5452
-x5454 = x5453
-x5455 = x5454
-x5456 = x5455
-x5457 = x5456
-x5458 = x5457
-x5459 = x5458
-x5460 = x5459
-x5461 = x5460
-x5462 = x5461
-x5463 = x5462
-x5464 = x5463
-x5465 = x5464
-x5466 = x5465
-x5467 = x5466
-x5468 = x5467
-x5469 = x5468
-x5470 = x5469
-x5471 = x5470
-x5472 = x5471
-x5473 = x5472
-x5474 = x5473
-x5475 = x5474
-x5476 = x5475
-x5477 = x5476
-x5478 = x5477
-x5479 = x5478
-x5480 = x5479
-x5481 = x5480
-x5482 = x5481
-x5483 = x5482
-x5484 = x5483
-x5485 = x5484
-x5486 = x5485
-x5487 = x5486
-x5488 = x5487
-x5489 = x5488
-x5490 = x5489
-x5491 = x5490
-x5492 = x5491
-x5493 = x5492
-x5494 = x5493
-x5495 = x5494
-x5496 = x5495
-x5497 = x5496
-x5498 = x5497
-x5499 = x5498
-x5500 = x5499
-x5501 = x5500
-x5502 = x5501
-x5503 = x5502
-x5504 = x5503
-x5505 = x5504
-x5506 = x5505
-x5507 = x5506
-x5508 = x5507
-x5509 = x5508
-x5510 = x5509
-x5511 = x5510
-x5512 = x5511
-x5513 = x5512
-x5514 = x5513
-x5515 = x5514
-x5516 = x5515
-x5517 = x5516
-x5518 = x5517
-x5519 = x5518
-x5520 = x5519
-x5521 = x5520
-x5522 = x5521
-x5523 = x5522
-x5524 = x5523
-x5525 = x5524
-x5526 = x5525
-x5527 = x5526
-x5528 = x5527
-x5529 = x5528
-x5530 = x5529
-x5531 = x5530
-x5532 = x5531
-x5533 = x5532
-x5534 = x5533
-x5535 = x5534
-x5536 = x5535
-x5537 = x5536
-x5538 = x5537
-x5539 = x5538
-x5540 = x5539
-x5541 = x5540
-x5542 = x5541
-x5543 = x5542
-x5544 = x5543
-x5545 = x5544
-x5546 = x5545
-x5547 = x5546
-x5548 = x5547
-x5549 = x5548
-x5550 = x5549
-x5551 = x5550
-x5552 = x5551
-x5553 = x5552
-x5554 = x5553
-x5555 = x5554
-x5556 = x5555
-x5557 = x5556
-x5558 = x5557
-x5559 = x5558
-x5560 = x5559
-x5561 = x5560
-x5562 = x5561
-x5563 = x5562
-x5564 = x5563
-x5565 = x5564
-x5566 = x5565
-x5567 = x5566
-x5568 = x5567
-x5569 = x5568
-x5570 = x5569
-x5571 = x5570
-x5572 = x5571
-x5573 = x5572
-x5574 = x5573
-x5575 = x5574
-x5576 = x5575
-x5577 = x5576
-x5578 = x5577
-x5579 = x5578
-x5580 = x5579
-x5581 = x5580
-x5582 = x5581
-x5583 = x5582
-x5584 = x5583
-x5585 = x5584
-x5586 = x5585
-x5587 = x5586
-x5588 = x5587
-x5589 = x5588
-x5590 = x5589
-x5591 = x5590
-x5592 = x5591
-x5593 = x5592
-x5594 = x5593
-x5595 = x5594
-x5596 = x5595
-x5597 = x5596
-x5598 = x5597
-x5599 = x5598
-x5600 = x5599
-x5601 = x5600
-x5602 = x5601
-x5603 = x5602
-x5604 = x5603
-x5605 = x5604
-x5606 = x5605
-x5607 = x5606
-x5608 = x5607
-x5609 = x5608
-x5610 = x5609
-x5611 = x5610
-x5612 = x5611
-x5613 = x5612
-x5614 = x5613
-x5615 = x5614
-x5616 = x5615
-x5617 = x5616
-x5618 = x5617
-x5619 = x5618
-x5620 = x5619
-x5621 = x5620
-x5622 = x5621
-x5623 = x5622
-x5624 = x5623
-x5625 = x5624
-x5626 = x5625
-x5627 = x5626
-x5628 = x5627
-x5629 = x5628
-x5630 = x5629
-x5631 = x5630
-x5632 = x5631
-x5633 = x5632
-x5634 = x5633
-x5635 = x5634
-x5636 = x5635
-x5637 = x5636
-x5638 = x5637
-x5639 = x5638
-x5640 = x5639
-x5641 = x5640
-x5642 = x5641
-x5643 = x5642
-x5644 = x5643
-x5645 = x5644
-x5646 = x5645
-x5647 = x5646
-x5648 = x5647
-x5649 = x5648
-x5650 = x5649
-x5651 = x5650
-x5652 = x5651
-x5653 = x5652
-x5654 = x5653
-x5655 = x5654
-x5656 = x5655
-x5657 = x5656
-x5658 = x5657
-x5659 = x5658
-x5660 = x5659
-x5661 = x5660
-x5662 = x5661
-x5663 = x5662
-x5664 = x5663
-x5665 = x5664
-x5666 = x5665
-x5667 = x5666
-x5668 = x5667
-x5669 = x5668
-x5670 = x5669
-x5671 = x5670
-x5672 = x5671
-x5673 = x5672
-x5674 = x5673
-x5675 = x5674
-x5676 = x5675
-x5677 = x5676
-x5678 = x5677
-x5679 = x5678
-x5680 = x5679
-x5681 = x5680
-x5682 = x5681
-x5683 = x5682
-x5684 = x5683
-x5685 = x5684
-x5686 = x5685
-x5687 = x5686
-x5688 = x5687
-x5689 = x5688
-x5690 = x5689
-x5691 = x5690
-x5692 = x5691
-x5693 = x5692
-x5694 = x5693
-x5695 = x5694
-x5696 = x5695
-x5697 = x5696
-x5698 = x5697
-x5699 = x5698
-x5700 = x5699
-x5701 = x5700
-x5702 = x5701
-x5703 = x5702
-x5704 = x5703
-x5705 = x5704
-x5706 = x5705
-x5707 = x5706
-x5708 = x5707
-x5709 = x5708
-x5710 = x5709
-x5711 = x5710
-x5712 = x5711
-x5713 = x5712
-x5714 = x5713
-x5715 = x5714
-x5716 = x5715
-x5717 = x5716
-x5718 = x5717
-x5719 = x5718
-x5720 = x5719
-x5721 = x5720
-x5722 = x5721
-x5723 = x5722
-x5724 = x5723
-x5725 = x5724
-x5726 = x5725
-x5727 = x5726
-x5728 = x5727
-x5729 = x5728
-x5730 = x5729
-x5731 = x5730
-x5732 = x5731
-x5733 = x5732
-x5734 = x5733
-x5735 = x5734
-x5736 = x5735
-x5737 = x5736
-x5738 = x5737
-x5739 = x5738
-x5740 = x5739
-x5741 = x5740
-x5742 = x5741
-x5743 = x5742
-x5744 = x5743
-x5745 = x5744
-x5746 = x5745
-x5747 = x5746
-x5748 = x5747
-x5749 = x5748
-x5750 = x5749
-x5751 = x5750
-x5752 = x5751
-x5753 = x5752
-x5754 = x5753
-x5755 = x5754
-x5756 = x5755
-x5757 = x5756
-x5758 = x5757
-x5759 = x5758
-x5760 = x5759
-x5761 = x5760
-x5762 = x5761
-x5763 = x5762
-x5764 = x5763
-x5765 = x5764
-x5766 = x5765
-x5767 = x5766
-x5768 = x5767
-x5769 = x5768
-x5770 = x5769
-x5771 = x5770
-x5772 = x5771
-x5773 = x5772
-x5774 = x5773
-x5775 = x5774
-x5776 = x5775
-x5777 = x5776
-x5778 = x5777
-x5779 = x5778
-x5780 = x5779
-x5781 = x5780
-x5782 = x5781
-x5783 = x5782
-x5784 = x5783
-x5785 = x5784
-x5786 = x5785
-x5787 = x5786
-x5788 = x5787
-x5789 = x5788
-x5790 = x5789
-x5791 = x5790
-x5792 = x5791
-x5793 = x5792
-x5794 = x5793
-x5795 = x5794
-x5796 = x5795
-x5797 = x5796
-x5798 = x5797
-x5799 = x5798
-x5800 = x5799
-x5801 = x5800
-x5802 = x5801
-x5803 = x5802
-x5804 = x5803
-x5805 = x5804
-x5806 = x5805
-x5807 = x5806
-x5808 = x5807
-x5809 = x5808
-x5810 = x5809
-x5811 = x5810
-x5812 = x5811
-x5813 = x5812
-x5814 = x5813
-x5815 = x5814
-x5816 = x5815
-x5817 = x5816
-x5818 = x5817
-x5819 = x5818
-x5820 = x5819
-x5821 = x5820
-x5822 = x5821
-x5823 = x5822
-x5824 = x5823
-x5825 = x5824
-x5826 = x5825
-x5827 = x5826
-x5828 = x5827
-x5829 = x5828
-x5830 = x5829
-x5831 = x5830
-x5832 = x5831
-x5833 = x5832
-x5834 = x5833
-x5835 = x5834
-x5836 = x5835
-x5837 = x5836
-x5838 = x5837
-x5839 = x5838
-x5840 = x5839
-x5841 = x5840
-x5842 = x5841
-x5843 = x5842
-x5844 = x5843
-x5845 = x5844
-x5846 = x5845
-x5847 = x5846
-x5848 = x5847
-x5849 = x5848
-x5850 = x5849
-x5851 = x5850
-x5852 = x5851
-x5853 = x5852
-x5854 = x5853
-x5855 = x5854
-x5856 = x5855
-x5857 = x5856
-x5858 = x5857
-x5859 = x5858
-x5860 = x5859
-x5861 = x5860
-x5862 = x5861
-x5863 = x5862
-x5864 = x5863
-x5865 = x5864
-x5866 = x5865
-x5867 = x5866
-x5868 = x5867
-x5869 = x5868
-x5870 = x5869
-x5871 = x5870
-x5872 = x5871
-x5873 = x5872
-x5874 = x5873
-x5875 = x5874
-x5876 = x5875
-x5877 = x5876
-x5878 = x5877
-x5879 = x5878
-x5880 = x5879
-x5881 = x5880
-x5882 = x5881
-x5883 = x5882
-x5884 = x5883
-x5885 = x5884
-x5886 = x5885
-x5887 = x5886
-x5888 = x5887
-x5889 = x5888
-x5890 = x5889
-x5891 = x5890
-x5892 = x5891
-x5893 = x5892
-x5894 = x5893
-x5895 = x5894
-x5896 = x5895
-x5897 = x5896
-x5898 = x5897
-x5899 = x5898
-x5900 = x5899
-x5901 = x5900
-x5902 = x5901
-x5903 = x5902
-x5904 = x5903
-x5905 = x5904
-x5906 = x5905
-x5907 = x5906
-x5908 = x5907
-x5909 = x5908
-x5910 = x5909
-x5911 = x5910
-x5912 = x5911
-x5913 = x5912
-x5914 = x5913
-x5915 = x5914
-x5916 = x5915
-x5917 = x5916
-x5918 = x5917
-x5919 = x5918
-x5920 = x5919
-x5921 = x5920
-x5922 = x5921
-x5923 = x5922
-x5924 = x5923
-x5925 = x5924
-x5926 = x5925
-x5927 = x5926
-x5928 = x5927
-x5929 = x5928
-x5930 = x5929
-x5931 = x5930
-x5932 = x5931
-x5933 = x5932
-x5934 = x5933
-x5935 = x5934
-x5936 = x5935
-x5937 = x5936
-x5938 = x5937
-x5939 = x5938
-x5940 = x5939
-x5941 = x5940
-x5942 = x5941
-x5943 = x5942
-x5944 = x5943
-x5945 = x5944
-x5946 = x5945
-x5947 = x5946
-x5948 = x5947
-x5949 = x5948
-x5950 = x5949
-x5951 = x5950
-x5952 = x5951
-x5953 = x5952
-x5954 = x5953
-x5955 = x5954
-x5956 = x5955
-x5957 = x5956
-x5958 = x5957
-x5959 = x5958
-x5960 = x5959
-x5961 = x5960
-x5962 = x5961
-x5963 = x5962
-x5964 = x5963
-x5965 = x5964
-x5966 = x5965
-x5967 = x5966
-x5968 = x5967
-x5969 = x5968
-x5970 = x5969
-x5971 = x5970
-x5972 = x5971
-x5973 = x5972
-x5974 = x5973
-x5975 = x5974
-x5976 = x5975
-x5977 = x5976
-x5978 = x5977
-x5979 = x5978
-x5980 = x5979
-x5981 = x5980
-x5982 = x5981
-x5983 = x5982
-x5984 = x5983
-x5985 = x5984
-x5986 = x5985
-x5987 = x5986
-x5988 = x5987
-x5989 = x5988
-x5990 = x5989
-x5991 = x5990
-x5992 = x5991
-x5993 = x5992
-x5994 = x5993
-x5995 = x5994
-x5996 = x5995
-x5997 = x5996
-x5998 = x5997
-x5999 = x5998
-x6000 = x5999
-x6001 = x6000
-x6002 = x6001
-x6003 = x6002
-x6004 = x6003
-x6005 = x6004
-x6006 = x6005
-x6007 = x6006
-x6008 = x6007
-x6009 = x6008
-x6010 = x6009
-x6011 = x6010
-x6012 = x6011
-x6013 = x6012
-x6014 = x6013
-x6015 = x6014
-x6016 = x6015
-x6017 = x6016
-x6018 = x6017
-x6019 = x6018
-x6020 = x6019
-x6021 = x6020
-x6022 = x6021
-x6023 = x6022
-x6024 = x6023
-x6025 = x6024
-x6026 = x6025
-x6027 = x6026
-x6028 = x6027
-x6029 = x6028
-x6030 = x6029
-x6031 = x6030
-x6032 = x6031
-x6033 = x6032
-x6034 = x6033
-x6035 = x6034
-x6036 = x6035
-x6037 = x6036
-x6038 = x6037
-x6039 = x6038
-x6040 = x6039
-x6041 = x6040
-x6042 = x6041
-x6043 = x6042
-x6044 = x6043
-x6045 = x6044
-x6046 = x6045
-x6047 = x6046
-x6048 = x6047
-x6049 = x6048
-x6050 = x6049
-x6051 = x6050
-x6052 = x6051
-x6053 = x6052
-x6054 = x6053
-x6055 = x6054
-x6056 = x6055
-x6057 = x6056
-x6058 = x6057
-x6059 = x6058
-x6060 = x6059
-x6061 = x6060
-x6062 = x6061
-x6063 = x6062
-x6064 = x6063
-x6065 = x6064
-x6066 = x6065
-x6067 = x6066
-x6068 = x6067
-x6069 = x6068
-x6070 = x6069
-x6071 = x6070
-x6072 = x6071
-x6073 = x6072
-x6074 = x6073
-x6075 = x6074
-x6076 = x6075
-x6077 = x6076
-x6078 = x6077
-x6079 = x6078
-x6080 = x6079
-x6081 = x6080
-x6082 = x6081
-x6083 = x6082
-x6084 = x6083
-x6085 = x6084
-x6086 = x6085
-x6087 = x6086
-x6088 = x6087
-x6089 = x6088
-x6090 = x6089
-x6091 = x6090
-x6092 = x6091
-x6093 = x6092
-x6094 = x6093
-x6095 = x6094
-x6096 = x6095
-x6097 = x6096
-x6098 = x6097
-x6099 = x6098
-x6100 = x6099
-x6101 = x6100
-x6102 = x6101
-x6103 = x6102
-x6104 = x6103
-x6105 = x6104
-x6106 = x6105
-x6107 = x6106
-x6108 = x6107
-x6109 = x6108
-x6110 = x6109
-x6111 = x6110
-x6112 = x6111
-x6113 = x6112
-x6114 = x6113
-x6115 = x6114
-x6116 = x6115
-x6117 = x6116
-x6118 = x6117
-x6119 = x6118
-x6120 = x6119
-x6121 = x6120
-x6122 = x6121
-x6123 = x6122
-x6124 = x6123
-x6125 = x6124
-x6126 = x6125
-x6127 = x6126
-x6128 = x6127
-x6129 = x6128
-x6130 = x6129
-x6131 = x6130
-x6132 = x6131
-x6133 = x6132
-x6134 = x6133
-x6135 = x6134
-x6136 = x6135
-x6137 = x6136
-x6138 = x6137
-x6139 = x6138
-x6140 = x6139
-x6141 = x6140
-x6142 = x6141
-x6143 = x6142
-x6144 = x6143
-x6145 = x6144
-x6146 = x6145
-x6147 = x6146
-x6148 = x6147
-x6149 = x6148
-x6150 = x6149
-x6151 = x6150
-x6152 = x6151
-x6153 = x6152
-x6154 = x6153
-x6155 = x6154
-x6156 = x6155
-x6157 = x6156
-x6158 = x6157
-x6159 = x6158
-x6160 = x6159
-x6161 = x6160
-x6162 = x6161
-x6163 = x6162
-x6164 = x6163
-x6165 = x6164
-x6166 = x6165
-x6167 = x6166
-x6168 = x6167
-x6169 = x6168
-x6170 = x6169
-x6171 = x6170
-x6172 = x6171
-x6173 = x6172
-x6174 = x6173
-x6175 = x6174
-x6176 = x6175
-x6177 = x6176
-x6178 = x6177
-x6179 = x6178
-x6180 = x6179
-x6181 = x6180
-x6182 = x6181
-x6183 = x6182
-x6184 = x6183
-x6185 = x6184
-x6186 = x6185
-x6187 = x6186
-x6188 = x6187
-x6189 = x6188
-x6190 = x6189
-x6191 = x6190
-x6192 = x6191
-x6193 = x6192
-x6194 = x6193
-x6195 = x6194
-x6196 = x6195
-x6197 = x6196
-x6198 = x6197
-x6199 = x6198
-x6200 = x6199
-x6201 = x6200
-x6202 = x6201
-x6203 = x6202
-x6204 = x6203
-x6205 = x6204
-x6206 = x6205
-x6207 = x6206
-x6208 = x6207
-x6209 = x6208
-x6210 = x6209
-x6211 = x6210
-x6212 = x6211
-x6213 = x6212
-x6214 = x6213
-x6215 = x6214
-x6216 = x6215
-x6217 = x6216
-x6218 = x6217
-x6219 = x6218
-x6220 = x6219
-x6221 = x6220
-x6222 = x6221
-x6223 = x6222
-x6224 = x6223
-x6225 = x6224
-x6226 = x6225
-x6227 = x6226
-x6228 = x6227
-x6229 = x6228
-x6230 = x6229
-x6231 = x6230
-x6232 = x6231
-x6233 = x6232
-x6234 = x6233
-x6235 = x6234
-x6236 = x6235
-x6237 = x6236
-x6238 = x6237
-x6239 = x6238
-x6240 = x6239
-x6241 = x6240
-x6242 = x6241
-x6243 = x6242
-x6244 = x6243
-x6245 = x6244
-x6246 = x6245
-x6247 = x6246
-x6248 = x6247
-x6249 = x6248
-x6250 = x6249
-x6251 = x6250
-x6252 = x6251
-x6253 = x6252
-x6254 = x6253
-x6255 = x6254
-x6256 = x6255
-x6257 = x6256
-x6258 = x6257
-x6259 = x6258
-x6260 = x6259
-x6261 = x6260
-x6262 = x6261
-x6263 = x6262
-x6264 = x6263
-x6265 = x6264
-x6266 = x6265
-x6267 = x6266
-x6268 = x6267
-x6269 = x6268
-x6270 = x6269
-x6271 = x6270
-x6272 = x6271
-x6273 = x6272
-x6274 = x6273
-x6275 = x6274
-x6276 = x6275
-x6277 = x6276
-x6278 = x6277
-x6279 = x6278
-x6280 = x6279
-x6281 = x6280
-x6282 = x6281
-x6283 = x6282
-x6284 = x6283
-x6285 = x6284
-x6286 = x6285
-x6287 = x6286
-x6288 = x6287
-x6289 = x6288
-x6290 = x6289
-x6291 = x6290
-x6292 = x6291
-x6293 = x6292
-x6294 = x6293
-x6295 = x6294
-x6296 = x6295
-x6297 = x6296
-x6298 = x6297
-x6299 = x6298
-x6300 = x6299
-x6301 = x6300
-x6302 = x6301
-x6303 = x6302
-x6304 = x6303
-x6305 = x6304
-x6306 = x6305
-x6307 = x6306
-x6308 = x6307
-x6309 = x6308
-x6310 = x6309
-x6311 = x6310
-x6312 = x6311
-x6313 = x6312
-x6314 = x6313
-x6315 = x6314
-x6316 = x6315
-x6317 = x6316
-x6318 = x6317
-x6319 = x6318
-x6320 = x6319
-x6321 = x6320
-x6322 = x6321
-x6323 = x6322
-x6324 = x6323
-x6325 = x6324
-x6326 = x6325
-x6327 = x6326
-x6328 = x6327
-x6329 = x6328
-x6330 = x6329
-x6331 = x6330
-x6332 = x6331
-x6333 = x6332
-x6334 = x6333
-x6335 = x6334
-x6336 = x6335
-x6337 = x6336
-x6338 = x6337
-x6339 = x6338
-x6340 = x6339
-x6341 = x6340
-x6342 = x6341
-x6343 = x6342
-x6344 = x6343
-x6345 = x6344
-x6346 = x6345
-x6347 = x6346
-x6348 = x6347
-x6349 = x6348
-x6350 = x6349
-x6351 = x6350
-x6352 = x6351
-x6353 = x6352
-x6354 = x6353
-x6355 = x6354
-x6356 = x6355
-x6357 = x6356
-x6358 = x6357
-x6359 = x6358
-x6360 = x6359
-x6361 = x6360
-x6362 = x6361
-x6363 = x6362
-x6364 = x6363
-x6365 = x6364
-x6366 = x6365
-x6367 = x6366
-x6368 = x6367
-x6369 = x6368
-x6370 = x6369
-x6371 = x6370
-x6372 = x6371
-x6373 = x6372
-x6374 = x6373
-x6375 = x6374
-x6376 = x6375
-x6377 = x6376
-x6378 = x6377
-x6379 = x6378
-x6380 = x6379
-x6381 = x6380
-x6382 = x6381
-x6383 = x6382
-x6384 = x6383
-x6385 = x6384
-x6386 = x6385
-x6387 = x6386
-x6388 = x6387
-x6389 = x6388
-x6390 = x6389
-x6391 = x6390
-x6392 = x6391
-x6393 = x6392
-x6394 = x6393
-x6395 = x6394
-x6396 = x6395
-x6397 = x6396
-x6398 = x6397
-x6399 = x6398
-x6400 = x6399
-x6401 = x6400
-x6402 = x6401
-x6403 = x6402
-x6404 = x6403
-x6405 = x6404
-x6406 = x6405
-x6407 = x6406
-x6408 = x6407
-x6409 = x6408
-x6410 = x6409
-x6411 = x6410
-x6412 = x6411
-x6413 = x6412
-x6414 = x6413
-x6415 = x6414
-x6416 = x6415
-x6417 = x6416
-x6418 = x6417
-x6419 = x6418
-x6420 = x6419
-x6421 = x6420
-x6422 = x6421
-x6423 = x6422
-x6424 = x6423
-x6425 = x6424
-x6426 = x6425
-x6427 = x6426
-x6428 = x6427
-x6429 = x6428
-x6430 = x6429
-x6431 = x6430
-x6432 = x6431
-x6433 = x6432
-x6434 = x6433
-x6435 = x6434
-x6436 = x6435
-x6437 = x6436
-x6438 = x6437
-x6439 = x6438
-x6440 = x6439
-x6441 = x6440
-x6442 = x6441
-x6443 = x6442
-x6444 = x6443
-x6445 = x6444
-x6446 = x6445
-x6447 = x6446
-x6448 = x6447
-x6449 = x6448
-x6450 = x6449
-x6451 = x6450
-x6452 = x6451
-x6453 = x6452
-x6454 = x6453
-x6455 = x6454
-x6456 = x6455
-x6457 = x6456
-x6458 = x6457
-x6459 = x6458
-x6460 = x6459
-x6461 = x6460
-x6462 = x6461
-x6463 = x6462
-x6464 = x6463
-x6465 = x6464
-x6466 = x6465
-x6467 = x6466
-x6468 = x6467
-x6469 = x6468
-x6470 = x6469
-x6471 = x6470
-x6472 = x6471
-x6473 = x6472
-x6474 = x6473
-x6475 = x6474
-x6476 = x6475
-x6477 = x6476
-x6478 = x6477
-x6479 = x6478
-x6480 = x6479
-x6481 = x6480
-x6482 = x6481
-x6483 = x6482
-x6484 = x6483
-x6485 = x6484
-x6486 = x6485
-x6487 = x6486
-x6488 = x6487
-x6489 = x6488
-x6490 = x6489
-x6491 = x6490
-x6492 = x6491
-x6493 = x6492
-x6494 = x6493
-x6495 = x6494
-x6496 = x6495
-x6497 = x6496
-x6498 = x6497
-x6499 = x6498
-x6500 = x6499
-x6501 = x6500
-x6502 = x6501
-x6503 = x6502
-x6504 = x6503
-x6505 = x6504
-x6506 = x6505
-x6507 = x6506
-x6508 = x6507
-x6509 = x6508
-x6510 = x6509
-x6511 = x6510
-x6512 = x6511
-x6513 = x6512
-x6514 = x6513
-x6515 = x6514
-x6516 = x6515
-x6517 = x6516
-x6518 = x6517
-x6519 = x6518
-x6520 = x6519
-x6521 = x6520
-x6522 = x6521
-x6523 = x6522
-x6524 = x6523
-x6525 = x6524
-x6526 = x6525
-x6527 = x6526
-x6528 = x6527
-x6529 = x6528
-x6530 = x6529
-x6531 = x6530
-x6532 = x6531
-x6533 = x6532
-x6534 = x6533
-x6535 = x6534
-x6536 = x6535
-x6537 = x6536
-x6538 = x6537
-x6539 = x6538
-x6540 = x6539
-x6541 = x6540
-x6542 = x6541
-x6543 = x6542
-x6544 = x6543
-x6545 = x6544
-x6546 = x6545
-x6547 = x6546
-x6548 = x6547
-x6549 = x6548
-x6550 = x6549
-x6551 = x6550
-x6552 = x6551
-x6553 = x6552
-x6554 = x6553
-x6555 = x6554
-x6556 = x6555
-x6557 = x6556
-x6558 = x6557
-x6559 = x6558
-x6560 = x6559
-x6561 = x6560
-x6562 = x6561
-x6563 = x6562
-x6564 = x6563
-x6565 = x6564
-x6566 = x6565
-x6567 = x6566
-x6568 = x6567
-x6569 = x6568
-x6570 = x6569
-x6571 = x6570
-x6572 = x6571
-x6573 = x6572
-x6574 = x6573
-x6575 = x6574
-x6576 = x6575
-x6577 = x6576
-x6578 = x6577
-x6579 = x6578
-x6580 = x6579
-x6581 = x6580
-x6582 = x6581
-x6583 = x6582
-x6584 = x6583
-x6585 = x6584
-x6586 = x6585
-x6587 = x6586
-x6588 = x6587
-x6589 = x6588
-x6590 = x6589
-x6591 = x6590
-x6592 = x6591
-x6593 = x6592
-x6594 = x6593
-x6595 = x6594
-x6596 = x6595
-x6597 = x6596
-x6598 = x6597
-x6599 = x6598
-x6600 = x6599
-x6601 = x6600
-x6602 = x6601
-x6603 = x6602
-x6604 = x6603
-x6605 = x6604
-x6606 = x6605
-x6607 = x6606
-x6608 = x6607
-x6609 = x6608
-x6610 = x6609
-x6611 = x6610
-x6612 = x6611
-x6613 = x6612
-x6614 = x6613
-x6615 = x6614
-x6616 = x6615
-x6617 = x6616
-x6618 = x6617
-x6619 = x6618
-x6620 = x6619
-x6621 = x6620
-x6622 = x6621
-x6623 = x6622
-x6624 = x6623
-x6625 = x6624
-x6626 = x6625
-x6627 = x6626
-x6628 = x6627
-x6629 = x6628
-x6630 = x6629
-x6631 = x6630
-x6632 = x6631
-x6633 = x6632
-x6634 = x6633
-x6635 = x6634
-x6636 = x6635
-x6637 = x6636
-x6638 = x6637
-x6639 = x6638
-x6640 = x6639
-x6641 = x6640
-x6642 = x6641
-x6643 = x6642
-x6644 = x6643
-x6645 = x6644
-x6646 = x6645
-x6647 = x6646
-x6648 = x6647
-x6649 = x6648
-x6650 = x6649
-x6651 = x6650
-x6652 = x6651
-x6653 = x6652
-x6654 = x6653
-x6655 = x6654
-x6656 = x6655
-x6657 = x6656
-x6658 = x6657
-x6659 = x6658
-x6660 = x6659
-x6661 = x6660
-x6662 = x6661
-x6663 = x6662
-x6664 = x6663
-x6665 = x6664
-x6666 = x6665
-x6667 = x6666
-x6668 = x6667
-x6669 = x6668
-x6670 = x6669
-x6671 = x6670
-x6672 = x6671
-x6673 = x6672
-x6674 = x6673
-x6675 = x6674
-x6676 = x6675
-x6677 = x6676
-x6678 = x6677
-x6679 = x6678
-x6680 = x6679
-x6681 = x6680
-x6682 = x6681
-x6683 = x6682
-x6684 = x6683
-x6685 = x6684
-x6686 = x6685
-x6687 = x6686
-x6688 = x6687
-x6689 = x6688
-x6690 = x6689
-x6691 = x6690
-x6692 = x6691
-x6693 = x6692
-x6694 = x6693
-x6695 = x6694
-x6696 = x6695
-x6697 = x6696
-x6698 = x6697
-x6699 = x6698
-x6700 = x6699
-x6701 = x6700
-x6702 = x6701
-x6703 = x6702
-x6704 = x6703
-x6705 = x6704
-x6706 = x6705
-x6707 = x6706
-x6708 = x6707
-x6709 = x6708
-x6710 = x6709
-x6711 = x6710
-x6712 = x6711
-x6713 = x6712
-x6714 = x6713
-x6715 = x6714
-x6716 = x6715
-x6717 = x6716
-x6718 = x6717
-x6719 = x6718
-x6720 = x6719
-x6721 = x6720
-x6722 = x6721
-x6723 = x6722
-x6724 = x6723
-x6725 = x6724
-x6726 = x6725
-x6727 = x6726
-x6728 = x6727
-x6729 = x6728
-x6730 = x6729
-x6731 = x6730
-x6732 = x6731
-x6733 = x6732
-x6734 = x6733
-x6735 = x6734
-x6736 = x6735
-x6737 = x6736
-x6738 = x6737
-x6739 = x6738
-x6740 = x6739
-x6741 = x6740
-x6742 = x6741
-x6743 = x6742
-x6744 = x6743
-x6745 = x6744
-x6746 = x6745
-x6747 = x6746
-x6748 = x6747
-x6749 = x6748
-x6750 = x6749
-x6751 = x6750
-x6752 = x6751
-x6753 = x6752
-x6754 = x6753
-x6755 = x6754
-x6756 = x6755
-x6757 = x6756
-x6758 = x6757
-x6759 = x6758
-x6760 = x6759
-x6761 = x6760
-x6762 = x6761
-x6763 = x6762
-x6764 = x6763
-x6765 = x6764
-x6766 = x6765
-x6767 = x6766
-x6768 = x6767
-x6769 = x6768
-x6770 = x6769
-x6771 = x6770
-x6772 = x6771
-x6773 = x6772
-x6774 = x6773
-x6775 = x6774
-x6776 = x6775
-x6777 = x6776
-x6778 = x6777
-x6779 = x6778
-x6780 = x6779
-x6781 = x6780
-x6782 = x6781
-x6783 = x6782
-x6784 = x6783
-x6785 = x6784
-x6786 = x6785
-x6787 = x6786
-x6788 = x6787
-x6789 = x6788
-x6790 = x6789
-x6791 = x6790
-x6792 = x6791
-x6793 = x6792
-x6794 = x6793
-x6795 = x6794
-x6796 = x6795
-x6797 = x6796
-x6798 = x6797
-x6799 = x6798
-x6800 = x6799
-x6801 = x6800
-x6802 = x6801
-x6803 = x6802
-x6804 = x6803
-x6805 = x6804
-x6806 = x6805
-x6807 = x6806
-x6808 = x6807
-x6809 = x6808
-x6810 = x6809
-x6811 = x6810
-x6812 = x6811
-x6813 = x6812
-x6814 = x6813
-x6815 = x6814
-x6816 = x6815
-x6817 = x6816
-x6818 = x6817
-x6819 = x6818
-x6820 = x6819
-x6821 = x6820
-x6822 = x6821
-x6823 = x6822
-x6824 = x6823
-x6825 = x6824
-x6826 = x6825
-x6827 = x6826
-x6828 = x6827
-x6829 = x6828
-x6830 = x6829
-x6831 = x6830
-x6832 = x6831
-x6833 = x6832
-x6834 = x6833
-x6835 = x6834
-x6836 = x6835
-x6837 = x6836
-x6838 = x6837
-x6839 = x6838
-x6840 = x6839
-x6841 = x6840
-x6842 = x6841
-x6843 = x6842
-x6844 = x6843
-x6845 = x6844
-x6846 = x6845
-x6847 = x6846
-x6848 = x6847
-x6849 = x6848
-x6850 = x6849
-x6851 = x6850
-x6852 = x6851
-x6853 = x6852
-x6854 = x6853
-x6855 = x6854
-x6856 = x6855
-x6857 = x6856
-x6858 = x6857
-x6859 = x6858
-x6860 = x6859
-x6861 = x6860
-x6862 = x6861
-x6863 = x6862
-x6864 = x6863
-x6865 = x6864
-x6866 = x6865
-x6867 = x6866
-x6868 = x6867
-x6869 = x6868
-x6870 = x6869
-x6871 = x6870
-x6872 = x6871
-x6873 = x6872
-x6874 = x6873
-x6875 = x6874
-x6876 = x6875
-x6877 = x6876
-x6878 = x6877
-x6879 = x6878
-x6880 = x6879
-x6881 = x6880
-x6882 = x6881
-x6883 = x6882
-x6884 = x6883
-x6885 = x6884
-x6886 = x6885
-x6887 = x6886
-x6888 = x6887
-x6889 = x6888
-x6890 = x6889
-x6891 = x6890
-x6892 = x6891
-x6893 = x6892
-x6894 = x6893
-x6895 = x6894
-x6896 = x6895
-x6897 = x6896
-x6898 = x6897
-x6899 = x6898
-x6900 = x6899
-x6901 = x6900
-x6902 = x6901
-x6903 = x6902
-x6904 = x6903
-x6905 = x6904
-x6906 = x6905
-x6907 = x6906
-x6908 = x6907
-x6909 = x6908
-x6910 = x6909
-x6911 = x6910
-x6912 = x6911
-x6913 = x6912
-x6914 = x6913
-x6915 = x6914
-x6916 = x6915
-x6917 = x6916
-x6918 = x6917
-x6919 = x6918
-x6920 = x6919
-x6921 = x6920
-x6922 = x6921
-x6923 = x6922
-x6924 = x6923
-x6925 = x6924
-x6926 = x6925
-x6927 = x6926
-x6928 = x6927
-x6929 = x6928
-x6930 = x6929
-x6931 = x6930
-x6932 = x6931
-x6933 = x6932
-x6934 = x6933
-x6935 = x6934
-x6936 = x6935
-x6937 = x6936
-x6938 = x6937
-x6939 = x6938
-x6940 = x6939
-x6941 = x6940
-x6942 = x6941
-x6943 = x6942
-x6944 = x6943
-x6945 = x6944
-x6946 = x6945
-x6947 = x6946
-x6948 = x6947
-x6949 = x6948
-x6950 = x6949
-x6951 = x6950
-x6952 = x6951
-x6953 = x6952
-x6954 = x6953
-x6955 = x6954
-x6956 = x6955
-x6957 = x6956
-x6958 = x6957
-x6959 = x6958
-x6960 = x6959
-x6961 = x6960
-x6962 = x6961
-x6963 = x6962
-x6964 = x6963
-x6965 = x6964
-x6966 = x6965
-x6967 = x6966
-x6968 = x6967
-x6969 = x6968
-x6970 = x6969
-x6971 = x6970
-x6972 = x6971
-x6973 = x6972
-x6974 = x6973
-x6975 = x6974
-x6976 = x6975
-x6977 = x6976
-x6978 = x6977
-x6979 = x6978
-x6980 = x6979
-x6981 = x6980
-x6982 = x6981
-x6983 = x6982
-x6984 = x6983
-x6985 = x6984
-x6986 = x6985
-x6987 = x6986
-x6988 = x6987
-x6989 = x6988
-x6990 = x6989
-x6991 = x6990
-x6992 = x6991
-x6993 = x6992
-x6994 = x6993
-x6995 = x6994
-x6996 = x6995
-x6997 = x6996
-x6998 = x6997
-x6999 = x6998
-x7000 = x6999
-x7001 = x7000
-x7002 = x7001
-x7003 = x7002
-x7004 = x7003
-x7005 = x7004
-x7006 = x7005
-x7007 = x7006
-x7008 = x7007
-x7009 = x7008
-x7010 = x7009
-x7011 = x7010
-x7012 = x7011
-x7013 = x7012
-x7014 = x7013
-x7015 = x7014
-x7016 = x7015
-x7017 = x7016
-x7018 = x7017
-x7019 = x7018
-x7020 = x7019
-x7021 = x7020
-x7022 = x7021
-x7023 = x7022
-x7024 = x7023
-x7025 = x7024
-x7026 = x7025
-x7027 = x7026
-x7028 = x7027
-x7029 = x7028
-x7030 = x7029
-x7031 = x7030
-x7032 = x7031
-x7033 = x7032
-x7034 = x7033
-x7035 = x7034
-x7036 = x7035
-x7037 = x7036
-x7038 = x7037
-x7039 = x7038
-x7040 = x7039
-x7041 = x7040
-x7042 = x7041
-x7043 = x7042
-x7044 = x7043
-x7045 = x7044
-x7046 = x7045
-x7047 = x7046
-x7048 = x7047
-x7049 = x7048
-x7050 = x7049
-x7051 = x7050
-x7052 = x7051
-x7053 = x7052
-x7054 = x7053
-x7055 = x7054
-x7056 = x7055
-x7057 = x7056
-x7058 = x7057
-x7059 = x7058
-x7060 = x7059
-x7061 = x7060
-x7062 = x7061
-x7063 = x7062
-x7064 = x7063
-x7065 = x7064
-x7066 = x7065
-x7067 = x7066
-x7068 = x7067
-x7069 = x7068
-x7070 = x7069
-x7071 = x7070
-x7072 = x7071
-x7073 = x7072
-x7074 = x7073
-x7075 = x7074
-x7076 = x7075
-x7077 = x7076
-x7078 = x7077
-x7079 = x7078
-x7080 = x7079
-x7081 = x7080
-x7082 = x7081
-x7083 = x7082
-x7084 = x7083
-x7085 = x7084
-x7086 = x7085
-x7087 = x7086
-x7088 = x7087
-x7089 = x7088
-x7090 = x7089
-x7091 = x7090
-x7092 = x7091
-x7093 = x7092
-x7094 = x7093
-x7095 = x7094
-x7096 = x7095
-x7097 = x7096
-x7098 = x7097
-x7099 = x7098
-x7100 = x7099
-x7101 = x7100
-x7102 = x7101
-x7103 = x7102
-x7104 = x7103
-x7105 = x7104
-x7106 = x7105
-x7107 = x7106
-x7108 = x7107
-x7109 = x7108
-x7110 = x7109
-x7111 = x7110
-x7112 = x7111
-x7113 = x7112
-x7114 = x7113
-x7115 = x7114
-x7116 = x7115
-x7117 = x7116
-x7118 = x7117
-x7119 = x7118
-x7120 = x7119
-x7121 = x7120
-x7122 = x7121
-x7123 = x7122
-x7124 = x7123
-x7125 = x7124
-x7126 = x7125
-x7127 = x7126
-x7128 = x7127
-x7129 = x7128
-x7130 = x7129
-x7131 = x7130
-x7132 = x7131
-x7133 = x7132
-x7134 = x7133
-x7135 = x7134
-x7136 = x7135
-x7137 = x7136
-x7138 = x7137
-x7139 = x7138
-x7140 = x7139
-x7141 = x7140
-x7142 = x7141
-x7143 = x7142
-x7144 = x7143
-x7145 = x7144
-x7146 = x7145
-x7147 = x7146
-x7148 = x7147
-x7149 = x7148
-x7150 = x7149
-x7151 = x7150
-x7152 = x7151
-x7153 = x7152
-x7154 = x7153
-x7155 = x7154
-x7156 = x7155
-x7157 = x7156
-x7158 = x7157
-x7159 = x7158
-x7160 = x7159
-x7161 = x7160
-x7162 = x7161
-x7163 = x7162
-x7164 = x7163
-x7165 = x7164
-x7166 = x7165
-x7167 = x7166
-x7168 = x7167
-x7169 = x7168
-x7170 = x7169
-x7171 = x7170
-x7172 = x7171
-x7173 = x7172
-x7174 = x7173
-x7175 = x7174
-x7176 = x7175
-x7177 = x7176
-x7178 = x7177
-x7179 = x7178
-x7180 = x7179
-x7181 = x7180
-x7182 = x7181
-x7183 = x7182
-x7184 = x7183
-x7185 = x7184
-x7186 = x7185
-x7187 = x7186
-x7188 = x7187
-x7189 = x7188
-x7190 = x7189
-x7191 = x7190
-x7192 = x7191
-x7193 = x7192
-x7194 = x7193
-x7195 = x7194
-x7196 = x7195
-x7197 = x7196
-x7198 = x7197
-x7199 = x7198
-x7200 = x7199
-x7201 = x7200
-x7202 = x7201
-x7203 = x7202
-x7204 = x7203
-x7205 = x7204
-x7206 = x7205
-x7207 = x7206
-x7208 = x7207
-x7209 = x7208
-x7210 = x7209
-x7211 = x7210
-x7212 = x7211
-x7213 = x7212
-x7214 = x7213
-x7215 = x7214
-x7216 = x7215
-x7217 = x7216
-x7218 = x7217
-x7219 = x7218
-x7220 = x7219
-x7221 = x7220
-x7222 = x7221
-x7223 = x7222
-x7224 = x7223
-x7225 = x7224
-x7226 = x7225
-x7227 = x7226
-x7228 = x7227
-x7229 = x7228
-x7230 = x7229
-x7231 = x7230
-x7232 = x7231
-x7233 = x7232
-x7234 = x7233
-x7235 = x7234
-x7236 = x7235
-x7237 = x7236
-x7238 = x7237
-x7239 = x7238
-x7240 = x7239
-x7241 = x7240
-x7242 = x7241
-x7243 = x7242
-x7244 = x7243
-x7245 = x7244
-x7246 = x7245
-x7247 = x7246
-x7248 = x7247
-x7249 = x7248
-x7250 = x7249
-x7251 = x7250
-x7252 = x7251
-x7253 = x7252
-x7254 = x7253
-x7255 = x7254
-x7256 = x7255
-x7257 = x7256
-x7258 = x7257
-x7259 = x7258
-x7260 = x7259
-x7261 = x7260
-x7262 = x7261
-x7263 = x7262
-x7264 = x7263
-x7265 = x7264
-x7266 = x7265
-x7267 = x7266
-x7268 = x7267
-x7269 = x7268
-x7270 = x7269
-x7271 = x7270
-x7272 = x7271
-x7273 = x7272
-x7274 = x7273
-x7275 = x7274
-x7276 = x7275
-x7277 = x7276
-x7278 = x7277
-x7279 = x7278
-x7280 = x7279
-x7281 = x7280
-x7282 = x7281
-x7283 = x7282
-x7284 = x7283
-x7285 = x7284
-x7286 = x7285
-x7287 = x7286
-x7288 = x7287
-x7289 = x7288
-x7290 = x7289
-x7291 = x7290
-x7292 = x7291
-x7293 = x7292
-x7294 = x7293
-x7295 = x7294
-x7296 = x7295
-x7297 = x7296
-x7298 = x7297
-x7299 = x7298
-x7300 = x7299
-x7301 = x7300
-x7302 = x7301
-x7303 = x7302
-x7304 = x7303
-x7305 = x7304
-x7306 = x7305
-x7307 = x7306
-x7308 = x7307
-x7309 = x7308
-x7310 = x7309
-x7311 = x7310
-x7312 = x7311
-x7313 = x7312
-x7314 = x7313
-x7315 = x7314
-x7316 = x7315
-x7317 = x7316
-x7318 = x7317
-x7319 = x7318
-x7320 = x7319
-x7321 = x7320
-x7322 = x7321
-x7323 = x7322
-x7324 = x7323
-x7325 = x7324
-x7326 = x7325
-x7327 = x7326
-x7328 = x7327
-x7329 = x7328
-x7330 = x7329
-x7331 = x7330
-x7332 = x7331
-x7333 = x7332
-x7334 = x7333
-x7335 = x7334
-x7336 = x7335
-x7337 = x7336
-x7338 = x7337
-x7339 = x7338
-x7340 = x7339
-x7341 = x7340
-x7342 = x7341
-x7343 = x7342
-x7344 = x7343
-x7345 = x7344
-x7346 = x7345
-x7347 = x7346
-x7348 = x7347
-x7349 = x7348
-x7350 = x7349
-x7351 = x7350
-x7352 = x7351
-x7353 = x7352
-x7354 = x7353
-x7355 = x7354
-x7356 = x7355
-x7357 = x7356
-x7358 = x7357
-x7359 = x7358
-x7360 = x7359
-x7361 = x7360
-x7362 = x7361
-x7363 = x7362
-x7364 = x7363
-x7365 = x7364
-x7366 = x7365
-x7367 = x7366
-x7368 = x7367
-x7369 = x7368
-x7370 = x7369
-x7371 = x7370
-x7372 = x7371
-x7373 = x7372
-x7374 = x7373
-x7375 = x7374
-x7376 = x7375
-x7377 = x7376
-x7378 = x7377
-x7379 = x7378
-x7380 = x7379
-x7381 = x7380
-x7382 = x7381
-x7383 = x7382
-x7384 = x7383
-x7385 = x7384
-x7386 = x7385
-x7387 = x7386
-x7388 = x7387
-x7389 = x7388
-x7390 = x7389
-x7391 = x7390
-x7392 = x7391
-x7393 = x7392
-x7394 = x7393
-x7395 = x7394
-x7396 = x7395
-x7397 = x7396
-x7398 = x7397
-x7399 = x7398
-x7400 = x7399
-x7401 = x7400
-x7402 = x7401
-x7403 = x7402
-x7404 = x7403
-x7405 = x7404
-x7406 = x7405
-x7407 = x7406
-x7408 = x7407
-x7409 = x7408
-x7410 = x7409
-x7411 = x7410
-x7412 = x7411
-x7413 = x7412
-x7414 = x7413
-x7415 = x7414
-x7416 = x7415
-x7417 = x7416
-x7418 = x7417
-x7419 = x7418
-x7420 = x7419
-x7421 = x7420
-x7422 = x7421
-x7423 = x7422
-x7424 = x7423
-x7425 = x7424
-x7426 = x7425
-x7427 = x7426
-x7428 = x7427
-x7429 = x7428
-x7430 = x7429
-x7431 = x7430
-x7432 = x7431
-x7433 = x7432
-x7434 = x7433
-x7435 = x7434
-x7436 = x7435
-x7437 = x7436
-x7438 = x7437
-x7439 = x7438
-x7440 = x7439
-x7441 = x7440
-x7442 = x7441
-x7443 = x7442
-x7444 = x7443
-x7445 = x7444
-x7446 = x7445
-x7447 = x7446
-x7448 = x7447
-x7449 = x7448
-x7450 = x7449
-x7451 = x7450
-x7452 = x7451
-x7453 = x7452
-x7454 = x7453
-x7455 = x7454
-x7456 = x7455
-x7457 = x7456
-x7458 = x7457
-x7459 = x7458
-x7460 = x7459
-x7461 = x7460
-x7462 = x7461
-x7463 = x7462
-x7464 = x7463
-x7465 = x7464
-x7466 = x7465
-x7467 = x7466
-x7468 = x7467
-x7469 = x7468
-x7470 = x7469
-x7471 = x7470
-x7472 = x7471
-x7473 = x7472
-x7474 = x7473
-x7475 = x7474
-x7476 = x7475
-x7477 = x7476
-x7478 = x7477
-x7479 = x7478
-x7480 = x7479
-x7481 = x7480
-x7482 = x7481
-x7483 = x7482
-x7484 = x7483
-x7485 = x7484
-x7486 = x7485
-x7487 = x7486
-x7488 = x7487
-x7489 = x7488
-x7490 = x7489
-x7491 = x7490
-x7492 = x7491
-x7493 = x7492
-x7494 = x7493
-x7495 = x7494
-x7496 = x7495
-x7497 = x7496
-x7498 = x7497
-x7499 = x7498
-x7500 = x7499
-x7501 = x7500
-x7502 = x7501
-x7503 = x7502
-x7504 = x7503
-x7505 = x7504
-x7506 = x7505
-x7507 = x7506
-x7508 = x7507
-x7509 = x7508
-x7510 = x7509
-x7511 = x7510
-x7512 = x7511
-x7513 = x7512
-x7514 = x7513
-x7515 = x7514
-x7516 = x7515
-x7517 = x7516
-x7518 = x7517
-x7519 = x7518
-x7520 = x7519
-x7521 = x7520
-x7522 = x7521
-x7523 = x7522
-x7524 = x7523
-x7525 = x7524
-x7526 = x7525
-x7527 = x7526
-x7528 = x7527
-x7529 = x7528
-x7530 = x7529
-x7531 = x7530
-x7532 = x7531
-x7533 = x7532
-x7534 = x7533
-x7535 = x7534
-x7536 = x7535
-x7537 = x7536
-x7538 = x7537
-x7539 = x7538
-x7540 = x7539
-x7541 = x7540
-x7542 = x7541
-x7543 = x7542
-x7544 = x7543
-x7545 = x7544
-x7546 = x7545
-x7547 = x7546
-x7548 = x7547
-x7549 = x7548
-x7550 = x7549
-x7551 = x7550
-x7552 = x7551
-x7553 = x7552
-x7554 = x7553
-x7555 = x7554
-x7556 = x7555
-x7557 = x7556
-x7558 = x7557
-x7559 = x7558
-x7560 = x7559
-x7561 = x7560
-x7562 = x7561
-x7563 = x7562
-x7564 = x7563
-x7565 = x7564
-x7566 = x7565
-x7567 = x7566
-x7568 = x7567
-x7569 = x7568
-x7570 = x7569
-x7571 = x7570
-x7572 = x7571
-x7573 = x7572
-x7574 = x7573
-x7575 = x7574
-x7576 = x7575
-x7577 = x7576
-x7578 = x7577
-x7579 = x7578
-x7580 = x7579
-x7581 = x7580
-x7582 = x7581
-x7583 = x7582
-x7584 = x7583
-x7585 = x7584
-x7586 = x7585
-x7587 = x7586
-x7588 = x7587
-x7589 = x7588
-x7590 = x7589
-x7591 = x7590
-x7592 = x7591
-x7593 = x7592
-x7594 = x7593
-x7595 = x7594
-x7596 = x7595
-x7597 = x7596
-x7598 = x7597
-x7599 = x7598
-x7600 = x7599
-x7601 = x7600
-x7602 = x7601
-x7603 = x7602
-x7604 = x7603
-x7605 = x7604
-x7606 = x7605
-x7607 = x7606
-x7608 = x7607
-x7609 = x7608
-x7610 = x7609
-x7611 = x7610
-x7612 = x7611
-x7613 = x7612
-x7614 = x7613
-x7615 = x7614
-x7616 = x7615
-x7617 = x7616
-x7618 = x7617
-x7619 = x7618
-x7620 = x7619
-x7621 = x7620
-x7622 = x7621
-x7623 = x7622
-x7624 = x7623
-x7625 = x7624
-x7626 = x7625
-x7627 = x7626
-x7628 = x7627
-x7629 = x7628
-x7630 = x7629
-x7631 = x7630
-x7632 = x7631
-x7633 = x7632
-x7634 = x7633
-x7635 = x7634
-x7636 = x7635
-x7637 = x7636
-x7638 = x7637
-x7639 = x7638
-x7640 = x7639
-x7641 = x7640
-x7642 = x7641
-x7643 = x7642
-x7644 = x7643
-x7645 = x7644
-x7646 = x7645
-x7647 = x7646
-x7648 = x7647
-x7649 = x7648
-x7650 = x7649
-x7651 = x7650
-x7652 = x7651
-x7653 = x7652
-x7654 = x7653
-x7655 = x7654
-x7656 = x7655
-x7657 = x7656
-x7658 = x7657
-x7659 = x7658
-x7660 = x7659
-x7661 = x7660
-x7662 = x7661
-x7663 = x7662
-x7664 = x7663
-x7665 = x7664
-x7666 = x7665
-x7667 = x7666
-x7668 = x7667
-x7669 = x7668
-x7670 = x7669
-x7671 = x7670
-x7672 = x7671
-x7673 = x7672
-x7674 = x7673
-x7675 = x7674
-x7676 = x7675
-x7677 = x7676
-x7678 = x7677
-x7679 = x7678
-x7680 = x7679
-x7681 = x7680
-x7682 = x7681
-x7683 = x7682
-x7684 = x7683
-x7685 = x7684
-x7686 = x7685
-x7687 = x7686
-x7688 = x7687
-x7689 = x7688
-x7690 = x7689
-x7691 = x7690
-x7692 = x7691
-x7693 = x7692
-x7694 = x7693
-x7695 = x7694
-x7696 = x7695
-x7697 = x7696
-x7698 = x7697
-x7699 = x7698
-x7700 = x7699
-x7701 = x7700
-x7702 = x7701
-x7703 = x7702
-x7704 = x7703
-x7705 = x7704
-x7706 = x7705
-x7707 = x7706
-x7708 = x7707
-x7709 = x7708
-x7710 = x7709
-x7711 = x7710
-x7712 = x7711
-x7713 = x7712
-x7714 = x7713
-x7715 = x7714
-x7716 = x7715
-x7717 = x7716
-x7718 = x7717
-x7719 = x7718
-x7720 = x7719
-x7721 = x7720
-x7722 = x7721
-x7723 = x7722
-x7724 = x7723
-x7725 = x7724
-x7726 = x7725
-x7727 = x7726
-x7728 = x7727
-x7729 = x7728
-x7730 = x7729
-x7731 = x7730
-x7732 = x7731
-x7733 = x7732
-x7734 = x7733
-x7735 = x7734
-x7736 = x7735
-x7737 = x7736
-x7738 = x7737
-x7739 = x7738
-x7740 = x7739
-x7741 = x7740
-x7742 = x7741
-x7743 = x7742
-x7744 = x7743
-x7745 = x7744
-x7746 = x7745
-x7747 = x7746
-x7748 = x7747
-x7749 = x7748
-x7750 = x7749
-x7751 = x7750
-x7752 = x7751
-x7753 = x7752
-x7754 = x7753
-x7755 = x7754
-x7756 = x7755
-x7757 = x7756
-x7758 = x7757
-x7759 = x7758
-x7760 = x7759
-x7761 = x7760
-x7762 = x7761
-x7763 = x7762
-x7764 = x7763
-x7765 = x7764
-x7766 = x7765
-x7767 = x7766
-x7768 = x7767
-x7769 = x7768
-x7770 = x7769
-x7771 = x7770
-x7772 = x7771
-x7773 = x7772
-x7774 = x7773
-x7775 = x7774
-x7776 = x7775
-x7777 = x7776
-x7778 = x7777
-x7779 = x7778
-x7780 = x7779
-x7781 = x7780
-x7782 = x7781
-x7783 = x7782
-x7784 = x7783
-x7785 = x7784
-x7786 = x7785
-x7787 = x7786
-x7788 = x7787
-x7789 = x7788
-x7790 = x7789
-x7791 = x7790
-x7792 = x7791
-x7793 = x7792
-x7794 = x7793
-x7795 = x7794
-x7796 = x7795
-x7797 = x7796
-x7798 = x7797
-x7799 = x7798
-x7800 = x7799
-x7801 = x7800
-x7802 = x7801
-x7803 = x7802
-x7804 = x7803
-x7805 = x7804
-x7806 = x7805
-x7807 = x7806
-x7808 = x7807
-x7809 = x7808
-x7810 = x7809
-x7811 = x7810
-x7812 = x7811
-x7813 = x7812
-x7814 = x7813
-x7815 = x7814
-x7816 = x7815
-x7817 = x7816
-x7818 = x7817
-x7819 = x7818
-x7820 = x7819
-x7821 = x7820
-x7822 = x7821
-x7823 = x7822
-x7824 = x7823
-x7825 = x7824
-x7826 = x7825
-x7827 = x7826
-x7828 = x7827
-x7829 = x7828
-x7830 = x7829
-x7831 = x7830
-x7832 = x7831
-x7833 = x7832
-x7834 = x7833
-x7835 = x7834
-x7836 = x7835
-x7837 = x7836
-x7838 = x7837
-x7839 = x7838
-x7840 = x7839
-x7841 = x7840
-x7842 = x7841
-x7843 = x7842
-x7844 = x7843
-x7845 = x7844
-x7846 = x7845
-x7847 = x7846
-x7848 = x7847
-x7849 = x7848
-x7850 = x7849
-x7851 = x7850
-x7852 = x7851
-x7853 = x7852
-x7854 = x7853
-x7855 = x7854
-x7856 = x7855
-x7857 = x7856
-x7858 = x7857
-x7859 = x7858
-x7860 = x7859
-x7861 = x7860
-x7862 = x7861
-x7863 = x7862
-x7864 = x7863
-x7865 = x7864
-x7866 = x7865
-x7867 = x7866
-x7868 = x7867
-x7869 = x7868
-x7870 = x7869
-x7871 = x7870
-x7872 = x7871
-x7873 = x7872
-x7874 = x7873
-x7875 = x7874
-x7876 = x7875
-x7877 = x7876
-x7878 = x7877
-x7879 = x7878
-x7880 = x7879
-x7881 = x7880
-x7882 = x7881
-x7883 = x7882
-x7884 = x7883
-x7885 = x7884
-x7886 = x7885
-x7887 = x7886
-x7888 = x7887
-x7889 = x7888
-x7890 = x7889
-x7891 = x7890
-x7892 = x7891
-x7893 = x7892
-x7894 = x7893
-x7895 = x7894
-x7896 = x7895
-x7897 = x7896
-x7898 = x7897
-x7899 = x7898
-x7900 = x7899
-x7901 = x7900
-x7902 = x7901
-x7903 = x7902
-x7904 = x7903
-x7905 = x7904
-x7906 = x7905
-x7907 = x7906
-x7908 = x7907
-x7909 = x7908
-x7910 = x7909
-x7911 = x7910
-x7912 = x7911
-x7913 = x7912
-x7914 = x7913
-x7915 = x7914
-x7916 = x7915
-x7917 = x7916
-x7918 = x7917
-x7919 = x7918
-x7920 = x7919
-x7921 = x7920
-x7922 = x7921
-x7923 = x7922
-x7924 = x7923
-x7925 = x7924
-x7926 = x7925
-x7927 = x7926
-x7928 = x7927
-x7929 = x7928
-x7930 = x7929
-x7931 = x7930
-x7932 = x7931
-x7933 = x7932
-x7934 = x7933
-x7935 = x7934
-x7936 = x7935
-x7937 = x7936
-x7938 = x7937
-x7939 = x7938
-x7940 = x7939
-x7941 = x7940
-x7942 = x7941
-x7943 = x7942
-x7944 = x7943
-x7945 = x7944
-x7946 = x7945
-x7947 = x7946
-x7948 = x7947
-x7949 = x7948
-x7950 = x7949
-x7951 = x7950
-x7952 = x7951
-x7953 = x7952
-x7954 = x7953
-x7955 = x7954
-x7956 = x7955
-x7957 = x7956
-x7958 = x7957
-x7959 = x7958
-x7960 = x7959
-x7961 = x7960
-x7962 = x7961
-x7963 = x7962
-x7964 = x7963
-x7965 = x7964
-x7966 = x7965
-x7967 = x7966
-x7968 = x7967
-x7969 = x7968
-x7970 = x7969
-x7971 = x7970
-x7972 = x7971
-x7973 = x7972
-x7974 = x7973
-x7975 = x7974
-x7976 = x7975
-x7977 = x7976
-x7978 = x7977
-x7979 = x7978
-x7980 = x7979
-x7981 = x7980
-x7982 = x7981
-x7983 = x7982
-x7984 = x7983
-x7985 = x7984
-x7986 = x7985
-x7987 = x7986
-x7988 = x7987
-x7989 = x7988
-x7990 = x7989
-x7991 = x7990
-x7992 = x7991
-x7993 = x7992
-x7994 = x7993
-x7995 = x7994
-x7996 = x7995
-x7997 = x7996
-x7998 = x7997
-x7999 = x7998
-x8000 = x7999
-x8001 = x8000
-x8002 = x8001
-x8003 = x8002
-x8004 = x8003
-x8005 = x8004
-x8006 = x8005
-x8007 = x8006
-x8008 = x8007
-x8009 = x8008
-x8010 = x8009
-x8011 = x8010
-x8012 = x8011
-x8013 = x8012
-x8014 = x8013
-x8015 = x8014
-x8016 = x8015
-x8017 = x8016
-x8018 = x8017
-x8019 = x8018
-x8020 = x8019
-x8021 = x8020
-x8022 = x8021
-x8023 = x8022
-x8024 = x8023
-x8025 = x8024
-x8026 = x8025
-x8027 = x8026
-x8028 = x8027
-x8029 = x8028
-x8030 = x8029
-x8031 = x8030
-x8032 = x8031
-x8033 = x8032
-x8034 = x8033
-x8035 = x8034
-x8036 = x8035
-x8037 = x8036
-x8038 = x8037
-x8039 = x8038
-x8040 = x8039
-x8041 = x8040
-x8042 = x8041
-x8043 = x8042
-x8044 = x8043
-x8045 = x8044
-x8046 = x8045
-x8047 = x8046
-x8048 = x8047
-x8049 = x8048
-x8050 = x8049
-x8051 = x8050
-x8052 = x8051
-x8053 = x8052
-x8054 = x8053
-x8055 = x8054
-x8056 = x8055
-x8057 = x8056
-x8058 = x8057
-x8059 = x8058
-x8060 = x8059
-x8061 = x8060
-x8062 = x8061
-x8063 = x8062
-x8064 = x8063
-x8065 = x8064
-x8066 = x8065
-x8067 = x8066
-x8068 = x8067
-x8069 = x8068
-x8070 = x8069
-x8071 = x8070
-x8072 = x8071
-x8073 = x8072
-x8074 = x8073
-x8075 = x8074
-x8076 = x8075
-x8077 = x8076
-x8078 = x8077
-x8079 = x8078
-x8080 = x8079
-x8081 = x8080
-x8082 = x8081
-x8083 = x8082
-x8084 = x8083
-x8085 = x8084
-x8086 = x8085
-x8087 = x8086
-x8088 = x8087
-x8089 = x8088
-x8090 = x8089
-x8091 = x8090
-x8092 = x8091
-x8093 = x8092
-x8094 = x8093
-x8095 = x8094
-x8096 = x8095
-x8097 = x8096
-x8098 = x8097
-x8099 = x8098
-x8100 = x8099
-x8101 = x8100
-x8102 = x8101
-x8103 = x8102
-x8104 = x8103
-x8105 = x8104
-x8106 = x8105
-x8107 = x8106
-x8108 = x8107
-x8109 = x8108
-x8110 = x8109
-x8111 = x8110
-x8112 = x8111
-x8113 = x8112
-x8114 = x8113
-x8115 = x8114
-x8116 = x8115
-x8117 = x8116
-x8118 = x8117
-x8119 = x8118
-x8120 = x8119
-x8121 = x8120
-x8122 = x8121
-x8123 = x8122
-x8124 = x8123
-x8125 = x8124
-x8126 = x8125
-x8127 = x8126
-x8128 = x8127
-x8129 = x8128
-x8130 = x8129
-x8131 = x8130
-x8132 = x8131
-x8133 = x8132
-x8134 = x8133
-x8135 = x8134
-x8136 = x8135
-x8137 = x8136
-x8138 = x8137
-x8139 = x8138
-x8140 = x8139
-x8141 = x8140
-x8142 = x8141
-x8143 = x8142
-x8144 = x8143
-x8145 = x8144
-x8146 = x8145
-x8147 = x8146
-x8148 = x8147
-x8149 = x8148
-x8150 = x8149
-x8151 = x8150
-x8152 = x8151
-x8153 = x8152
-x8154 = x8153
-x8155 = x8154
-x8156 = x8155
-x8157 = x8156
-x8158 = x8157
-x8159 = x8158
-x8160 = x8159
-x8161 = x8160
-x8162 = x8161
-x8163 = x8162
-x8164 = x8163
-x8165 = x8164
-x8166 = x8165
-x8167 = x8166
-x8168 = x8167
-x8169 = x8168
-x8170 = x8169
-x8171 = x8170
-x8172 = x8171
-x8173 = x8172
-x8174 = x8173
-x8175 = x8174
-x8176 = x8175
-x8177 = x8176
-x8178 = x8177
-x8179 = x8178
-x8180 = x8179
-x8181 = x8180
-x8182 = x8181
-x8183 = x8182
-x8184 = x8183
-x8185 = x8184
-x8186 = x8185
-x8187 = x8186
-x8188 = x8187
-x8189 = x8188
-x8190 = x8189
-x8191 = x8190
-x8192 = x8191
-x8193 = x8192
-x8194 = x8193
-x8195 = x8194
-x8196 = x8195
-x8197 = x8196
-x8198 = x8197
-x8199 = x8198
-x8200 = x8199
-x8201 = x8200
-x8202 = x8201
-x8203 = x8202
-x8204 = x8203
-x8205 = x8204
-x8206 = x8205
-x8207 = x8206
-x8208 = x8207
-x8209 = x8208
-x8210 = x8209
-x8211 = x8210
-x8212 = x8211
-x8213 = x8212
-x8214 = x8213
-x8215 = x8214
-x8216 = x8215
-x8217 = x8216
-x8218 = x8217
-x8219 = x8218
-x8220 = x8219
-x8221 = x8220
-x8222 = x8221
-x8223 = x8222
-x8224 = x8223
-x8225 = x8224
-x8226 = x8225
-x8227 = x8226
-x8228 = x8227
-x8229 = x8228
-x8230 = x8229
-x8231 = x8230
-x8232 = x8231
-x8233 = x8232
-x8234 = x8233
-x8235 = x8234
-x8236 = x8235
-x8237 = x8236
-x8238 = x8237
-x8239 = x8238
-x8240 = x8239
-x8241 = x8240
-x8242 = x8241
-x8243 = x8242
-x8244 = x8243
-x8245 = x8244
-x8246 = x8245
-x8247 = x8246
-x8248 = x8247
-x8249 = x8248
-x8250 = x8249
-x8251 = x8250
-x8252 = x8251
-x8253 = x8252
-x8254 = x8253
-x8255 = x8254
-x8256 = x8255
-x8257 = x8256
-x8258 = x8257
-x8259 = x8258
-x8260 = x8259
-x8261 = x8260
-x8262 = x8261
-x8263 = x8262
-x8264 = x8263
-x8265 = x8264
-x8266 = x8265
-x8267 = x8266
-x8268 = x8267
-x8269 = x8268
-x8270 = x8269
-x8271 = x8270
-x8272 = x8271
-x8273 = x8272
-x8274 = x8273
-x8275 = x8274
-x8276 = x8275
-x8277 = x8276
-x8278 = x8277
-x8279 = x8278
-x8280 = x8279
-x8281 = x8280
-x8282 = x8281
-x8283 = x8282
-x8284 = x8283
-x8285 = x8284
-x8286 = x8285
-x8287 = x8286
-x8288 = x8287
-x8289 = x8288
-x8290 = x8289
-x8291 = x8290
-x8292 = x8291
-x8293 = x8292
-x8294 = x8293
-x8295 = x8294
-x8296 = x8295
-x8297 = x8296
-x8298 = x8297
-x8299 = x8298
-x8300 = x8299
-x8301 = x8300
-x8302 = x8301
-x8303 = x8302
-x8304 = x8303
-x8305 = x8304
-x8306 = x8305
-x8307 = x8306
-x8308 = x8307
-x8309 = x8308
-x8310 = x8309
-x8311 = x8310
-x8312 = x8311
-x8313 = x8312
-x8314 = x8313
-x8315 = x8314
-x8316 = x8315
-x8317 = x8316
-x8318 = x8317
-x8319 = x8318
-x8320 = x8319
-x8321 = x8320
-x8322 = x8321
-x8323 = x8322
-x8324 = x8323
-x8325 = x8324
-x8326 = x8325
-x8327 = x8326
-x8328 = x8327
-x8329 = x8328
-x8330 = x8329
-x8331 = x8330
-x8332 = x8331
-x8333 = x8332
-x8334 = x8333
-x8335 = x8334
-x8336 = x8335
-x8337 = x8336
-x8338 = x8337
-x8339 = x8338
-x8340 = x8339
-x8341 = x8340
-x8342 = x8341
-x8343 = x8342
-x8344 = x8343
-x8345 = x8344
-x8346 = x8345
-x8347 = x8346
-x8348 = x8347
-x8349 = x8348
-x8350 = x8349
-x8351 = x8350
-x8352 = x8351
-x8353 = x8352
-x8354 = x8353
-x8355 = x8354
-x8356 = x8355
-x8357 = x8356
-x8358 = x8357
-x8359 = x8358
-x8360 = x8359
-x8361 = x8360
-x8362 = x8361
-x8363 = x8362
-x8364 = x8363
-x8365 = x8364
-x8366 = x8365
-x8367 = x8366
-x8368 = x8367
-x8369 = x8368
-x8370 = x8369
-x8371 = x8370
-x8372 = x8371
-x8373 = x8372
-x8374 = x8373
-x8375 = x8374
-x8376 = x8375
-x8377 = x8376
-x8378 = x8377
-x8379 = x8378
-x8380 = x8379
-x8381 = x8380
-x8382 = x8381
-x8383 = x8382
-x8384 = x8383
-x8385 = x8384
-x8386 = x8385
-x8387 = x8386
-x8388 = x8387
-x8389 = x8388
-x8390 = x8389
-x8391 = x8390
-x8392 = x8391
-x8393 = x8392
-x8394 = x8393
-x8395 = x8394
-x8396 = x8395
-x8397 = x8396
-x8398 = x8397
-x8399 = x8398
-x8400 = x8399
-x8401 = x8400
-x8402 = x8401
-x8403 = x8402
-x8404 = x8403
-x8405 = x8404
-x8406 = x8405
-x8407 = x8406
-x8408 = x8407
-x8409 = x8408
-x8410 = x8409
-x8411 = x8410
-x8412 = x8411
-x8413 = x8412
-x8414 = x8413
-x8415 = x8414
-x8416 = x8415
-x8417 = x8416
-x8418 = x8417
-x8419 = x8418
-x8420 = x8419
-x8421 = x8420
-x8422 = x8421
-x8423 = x8422
-x8424 = x8423
-x8425 = x8424
-x8426 = x8425
-x8427 = x8426
-x8428 = x8427
-x8429 = x8428
-x8430 = x8429
-x8431 = x8430
-x8432 = x8431
-x8433 = x8432
-x8434 = x8433
-x8435 = x8434
-x8436 = x8435
-x8437 = x8436
-x8438 = x8437
-x8439 = x8438
-x8440 = x8439
-x8441 = x8440
-x8442 = x8441
-x8443 = x8442
-x8444 = x8443
-x8445 = x8444
-x8446 = x8445
-x8447 = x8446
-x8448 = x8447
-x8449 = x8448
-x8450 = x8449
-x8451 = x8450
-x8452 = x8451
-x8453 = x8452
-x8454 = x8453
-x8455 = x8454
-x8456 = x8455
-x8457 = x8456
-x8458 = x8457
-x8459 = x8458
-x8460 = x8459
-x8461 = x8460
-x8462 = x8461
-x8463 = x8462
-x8464 = x8463
-x8465 = x8464
-x8466 = x8465
-x8467 = x8466
-x8468 = x8467
-x8469 = x8468
-x8470 = x8469
-x8471 = x8470
-x8472 = x8471
-x8473 = x8472
-x8474 = x8473
-x8475 = x8474
-x8476 = x8475
-x8477 = x8476
-x8478 = x8477
-x8479 = x8478
-x8480 = x8479
-x8481 = x8480
-x8482 = x8481
-x8483 = x8482
-x8484 = x8483
-x8485 = x8484
-x8486 = x8485
-x8487 = x8486
-x8488 = x8487
-x8489 = x8488
-x8490 = x8489
-x8491 = x8490
-x8492 = x8491
-x8493 = x8492
-x8494 = x8493
-x8495 = x8494
-x8496 = x8495
-x8497 = x8496
-x8498 = x8497
-x8499 = x8498
-x8500 = x8499
-x8501 = x8500
-x8502 = x8501
-x8503 = x8502
-x8504 = x8503
-x8505 = x8504
-x8506 = x8505
-x8507 = x8506
-x8508 = x8507
-x8509 = x8508
-x8510 = x8509
-x8511 = x8510
-x8512 = x8511
-x8513 = x8512
-x8514 = x8513
-x8515 = x8514
-x8516 = x8515
-x8517 = x8516
-x8518 = x8517
-x8519 = x8518
-x8520 = x8519
-x8521 = x8520
-x8522 = x8521
-x8523 = x8522
-x8524 = x8523
-x8525 = x8524
-x8526 = x8525
-x8527 = x8526
-x8528 = x8527
-x8529 = x8528
-x8530 = x8529
-x8531 = x8530
-x8532 = x8531
-x8533 = x8532
-x8534 = x8533
-x8535 = x8534
-x8536 = x8535
-x8537 = x8536
-x8538 = x8537
-x8539 = x8538
-x8540 = x8539
-x8541 = x8540
-x8542 = x8541
-x8543 = x8542
-x8544 = x8543
-x8545 = x8544
-x8546 = x8545
-x8547 = x8546
-x8548 = x8547
-x8549 = x8548
-x8550 = x8549
-x8551 = x8550
-x8552 = x8551
-x8553 = x8552
-x8554 = x8553
-x8555 = x8554
-x8556 = x8555
-x8557 = x8556
-x8558 = x8557
-x8559 = x8558
-x8560 = x8559
-x8561 = x8560
-x8562 = x8561
-x8563 = x8562
-x8564 = x8563
-x8565 = x8564
-x8566 = x8565
-x8567 = x8566
-x8568 = x8567
-x8569 = x8568
-x8570 = x8569
-x8571 = x8570
-x8572 = x8571
-x8573 = x8572
-x8574 = x8573
-x8575 = x8574
-x8576 = x8575
-x8577 = x8576
-x8578 = x8577
-x8579 = x8578
-x8580 = x8579
-x8581 = x8580
-x8582 = x8581
-x8583 = x8582
-x8584 = x8583
-x8585 = x8584
-x8586 = x8585
-x8587 = x8586
-x8588 = x8587
-x8589 = x8588
-x8590 = x8589
-x8591 = x8590
-x8592 = x8591
-x8593 = x8592
-x8594 = x8593
-x8595 = x8594
-x8596 = x8595
-x8597 = x8596
-x8598 = x8597
-x8599 = x8598
-x8600 = x8599
-x8601 = x8600
-x8602 = x8601
-x8603 = x8602
-x8604 = x8603
-x8605 = x8604
-x8606 = x8605
-x8607 = x8606
-x8608 = x8607
-x8609 = x8608
-x8610 = x8609
-x8611 = x8610
-x8612 = x8611
-x8613 = x8612
-x8614 = x8613
-x8615 = x8614
-x8616 = x8615
-x8617 = x8616
-x8618 = x8617
-x8619 = x8618
-x8620 = x8619
-x8621 = x8620
-x8622 = x8621
-x8623 = x8622
-x8624 = x8623
-x8625 = x8624
-x8626 = x8625
-x8627 = x8626
-x8628 = x8627
-x8629 = x8628
-x8630 = x8629
-x8631 = x8630
-x8632 = x8631
-x8633 = x8632
-x8634 = x8633
-x8635 = x8634
-x8636 = x8635
-x8637 = x8636
-x8638 = x8637
-x8639 = x8638
-x8640 = x8639
-x8641 = x8640
-x8642 = x8641
-x8643 = x8642
-x8644 = x8643
-x8645 = x8644
-x8646 = x8645
-x8647 = x8646
-x8648 = x8647
-x8649 = x8648
-x8650 = x8649
-x8651 = x8650
-x8652 = x8651
-x8653 = x8652
-x8654 = x8653
-x8655 = x8654
-x8656 = x8655
-x8657 = x8656
-x8658 = x8657
-x8659 = x8658
-x8660 = x8659
-x8661 = x8660
-x8662 = x8661
-x8663 = x8662
-x8664 = x8663
-x8665 = x8664
-x8666 = x8665
-x8667 = x8666
-x8668 = x8667
-x8669 = x8668
-x8670 = x8669
-x8671 = x8670
-x8672 = x8671
-x8673 = x8672
-x8674 = x8673
-x8675 = x8674
-x8676 = x8675
-x8677 = x8676
-x8678 = x8677
-x8679 = x8678
-x8680 = x8679
-x8681 = x8680
-x8682 = x8681
-x8683 = x8682
-x8684 = x8683
-x8685 = x8684
-x8686 = x8685
-x8687 = x8686
-x8688 = x8687
-x8689 = x8688
-x8690 = x8689
-x8691 = x8690
-x8692 = x8691
-x8693 = x8692
-x8694 = x8693
-x8695 = x8694
-x8696 = x8695
-x8697 = x8696
-x8698 = x8697
-x8699 = x8698
-x8700 = x8699
-x8701 = x8700
-x8702 = x8701
-x8703 = x8702
-x8704 = x8703
-x8705 = x8704
-x8706 = x8705
-x8707 = x8706
-x8708 = x8707
-x8709 = x8708
-x8710 = x8709
-x8711 = x8710
-x8712 = x8711
-x8713 = x8712
-x8714 = x8713
-x8715 = x8714
-x8716 = x8715
-x8717 = x8716
-x8718 = x8717
-x8719 = x8718
-x8720 = x8719
-x8721 = x8720
-x8722 = x8721
-x8723 = x8722
-x8724 = x8723
-x8725 = x8724
-x8726 = x8725
-x8727 = x8726
-x8728 = x8727
-x8729 = x8728
-x8730 = x8729
-x8731 = x8730
-x8732 = x8731
-x8733 = x8732
-x8734 = x8733
-x8735 = x8734
-x8736 = x8735
-x8737 = x8736
-x8738 = x8737
-x8739 = x8738
-x8740 = x8739
-x8741 = x8740
-x8742 = x8741
-x8743 = x8742
-x8744 = x8743
-x8745 = x8744
-x8746 = x8745
-x8747 = x8746
-x8748 = x8747
-x8749 = x8748
-x8750 = x8749
-x8751 = x8750
-x8752 = x8751
-x8753 = x8752
-x8754 = x8753
-x8755 = x8754
-x8756 = x8755
-x8757 = x8756
-x8758 = x8757
-x8759 = x8758
-x8760 = x8759
-x8761 = x8760
-x8762 = x8761
-x8763 = x8762
-x8764 = x8763
-x8765 = x8764
-x8766 = x8765
-x8767 = x8766
-x8768 = x8767
-x8769 = x8768
-x8770 = x8769
-x8771 = x8770
-x8772 = x8771
-x8773 = x8772
-x8774 = x8773
-x8775 = x8774
-x8776 = x8775
-x8777 = x8776
-x8778 = x8777
-x8779 = x8778
-x8780 = x8779
-x8781 = x8780
-x8782 = x8781
-x8783 = x8782
-x8784 = x8783
-x8785 = x8784
-x8786 = x8785
-x8787 = x8786
-x8788 = x8787
-x8789 = x8788
-x8790 = x8789
-x8791 = x8790
-x8792 = x8791
-x8793 = x8792
-x8794 = x8793
-x8795 = x8794
-x8796 = x8795
-x8797 = x8796
-x8798 = x8797
-x8799 = x8798
-x8800 = x8799
-x8801 = x8800
-x8802 = x8801
-x8803 = x8802
-x8804 = x8803
-x8805 = x8804
-x8806 = x8805
-x8807 = x8806
-x8808 = x8807
-x8809 = x8808
-x8810 = x8809
-x8811 = x8810
-x8812 = x8811
-x8813 = x8812
-x8814 = x8813
-x8815 = x8814
-x8816 = x8815
-x8817 = x8816
-x8818 = x8817
-x8819 = x8818
-x8820 = x8819
-x8821 = x8820
-x8822 = x8821
-x8823 = x8822
-x8824 = x8823
-x8825 = x8824
-x8826 = x8825
-x8827 = x8826
-x8828 = x8827
-x8829 = x8828
-x8830 = x8829
-x8831 = x8830
-x8832 = x8831
-x8833 = x8832
-x8834 = x8833
-x8835 = x8834
-x8836 = x8835
-x8837 = x8836
-x8838 = x8837
-x8839 = x8838
-x8840 = x8839
-x8841 = x8840
-x8842 = x8841
-x8843 = x8842
-x8844 = x8843
-x8845 = x8844
-x8846 = x8845
-x8847 = x8846
-x8848 = x8847
-x8849 = x8848
-x8850 = x8849
-x8851 = x8850
-x8852 = x8851
-x8853 = x8852
-x8854 = x8853
-x8855 = x8854
-x8856 = x8855
-x8857 = x8856
-x8858 = x8857
-x8859 = x8858
-x8860 = x8859
-x8861 = x8860
-x8862 = x8861
-x8863 = x8862
-x8864 = x8863
-x8865 = x8864
-x8866 = x8865
-x8867 = x8866
-x8868 = x8867
-x8869 = x8868
-x8870 = x8869
-x8871 = x8870
-x8872 = x8871
-x8873 = x8872
-x8874 = x8873
-x8875 = x8874
-x8876 = x8875
-x8877 = x8876
-x8878 = x8877
-x8879 = x8878
-x8880 = x8879
-x8881 = x8880
-x8882 = x8881
-x8883 = x8882
-x8884 = x8883
-x8885 = x8884
-x8886 = x8885
-x8887 = x8886
-x8888 = x8887
-x8889 = x8888
-x8890 = x8889
-x8891 = x8890
-x8892 = x8891
-x8893 = x8892
-x8894 = x8893
-x8895 = x8894
-x8896 = x8895
-x8897 = x8896
-x8898 = x8897
-x8899 = x8898
-x8900 = x8899
-x8901 = x8900
-x8902 = x8901
-x8903 = x8902
-x8904 = x8903
-x8905 = x8904
-x8906 = x8905
-x8907 = x8906
-x8908 = x8907
-x8909 = x8908
-x8910 = x8909
-x8911 = x8910
-x8912 = x8911
-x8913 = x8912
-x8914 = x8913
-x8915 = x8914
-x8916 = x8915
-x8917 = x8916
-x8918 = x8917
-x8919 = x8918
-x8920 = x8919
-x8921 = x8920
-x8922 = x8921
-x8923 = x8922
-x8924 = x8923
-x8925 = x8924
-x8926 = x8925
-x8927 = x8926
-x8928 = x8927
-x8929 = x8928
-x8930 = x8929
-x8931 = x8930
-x8932 = x8931
-x8933 = x8932
-x8934 = x8933
-x8935 = x8934
-x8936 = x8935
-x8937 = x8936
-x8938 = x8937
-x8939 = x8938
-x8940 = x8939
-x8941 = x8940
-x8942 = x8941
-x8943 = x8942
-x8944 = x8943
-x8945 = x8944
-x8946 = x8945
-x8947 = x8946
-x8948 = x8947
-x8949 = x8948
-x8950 = x8949
-x8951 = x8950
-x8952 = x8951
-x8953 = x8952
-x8954 = x8953
-x8955 = x8954
-x8956 = x8955
-x8957 = x8956
-x8958 = x8957
-x8959 = x8958
-x8960 = x8959
-x8961 = x8960
-x8962 = x8961
-x8963 = x8962
-x8964 = x8963
-x8965 = x8964
-x8966 = x8965
-x8967 = x8966
-x8968 = x8967
-x8969 = x8968
-x8970 = x8969
-x8971 = x8970
-x8972 = x8971
-x8973 = x8972
-x8974 = x8973
-x8975 = x8974
-x8976 = x8975
-x8977 = x8976
-x8978 = x8977
-x8979 = x8978
-x8980 = x8979
-x8981 = x8980
-x8982 = x8981
-x8983 = x8982
-x8984 = x8983
-x8985 = x8984
-x8986 = x8985
-x8987 = x8986
-x8988 = x8987
-x8989 = x8988
-x8990 = x8989
-x8991 = x8990
-x8992 = x8991
-x8993 = x8992
-x8994 = x8993
-x8995 = x8994
-x8996 = x8995
-x8997 = x8996
-x8998 = x8997
-x8999 = x8998
-x9000 = x8999
-x9001 = x9000
-x9002 = x9001
-x9003 = x9002
-x9004 = x9003
-x9005 = x9004
-x9006 = x9005
-x9007 = x9006
-x9008 = x9007
-x9009 = x9008
-x9010 = x9009
-x9011 = x9010
-x9012 = x9011
-x9013 = x9012
-x9014 = x9013
-x9015 = x9014
-x9016 = x9015
-x9017 = x9016
-x9018 = x9017
-x9019 = x9018
-x9020 = x9019
-x9021 = x9020
-x9022 = x9021
-x9023 = x9022
-x9024 = x9023
-x9025 = x9024
-x9026 = x9025
-x9027 = x9026
-x9028 = x9027
-x9029 = x9028
-x9030 = x9029
-x9031 = x9030
-x9032 = x9031
-x9033 = x9032
-x9034 = x9033
-x9035 = x9034
-x9036 = x9035
-x9037 = x9036
-x9038 = x9037
-x9039 = x9038
-x9040 = x9039
-x9041 = x9040
-x9042 = x9041
-x9043 = x9042
-x9044 = x9043
-x9045 = x9044
-x9046 = x9045
-x9047 = x9046
-x9048 = x9047
-x9049 = x9048
-x9050 = x9049
-x9051 = x9050
-x9052 = x9051
-x9053 = x9052
-x9054 = x9053
-x9055 = x9054
-x9056 = x9055
-x9057 = x9056
-x9058 = x9057
-x9059 = x9058
-x9060 = x9059
-x9061 = x9060
-x9062 = x9061
-x9063 = x9062
-x9064 = x9063
-x9065 = x9064
-x9066 = x9065
-x9067 = x9066
-x9068 = x9067
-x9069 = x9068
-x9070 = x9069
-x9071 = x9070
-x9072 = x9071
-x9073 = x9072
-x9074 = x9073
-x9075 = x9074
-x9076 = x9075
-x9077 = x9076
-x9078 = x9077
-x9079 = x9078
-x9080 = x9079
-x9081 = x9080
-x9082 = x9081
-x9083 = x9082
-x9084 = x9083
-x9085 = x9084
-x9086 = x9085
-x9087 = x9086
-x9088 = x9087
-x9089 = x9088
-x9090 = x9089
-x9091 = x9090
-x9092 = x9091
-x9093 = x9092
-x9094 = x9093
-x9095 = x9094
-x9096 = x9095
-x9097 = x9096
-x9098 = x9097
-x9099 = x9098
-x9100 = x9099
-x9101 = x9100
-x9102 = x9101
-x9103 = x9102
-x9104 = x9103
-x9105 = x9104
-x9106 = x9105
-x9107 = x9106
-x9108 = x9107
-x9109 = x9108
-x9110 = x9109
-x9111 = x9110
-x9112 = x9111
-x9113 = x9112
-x9114 = x9113
-x9115 = x9114
-x9116 = x9115
-x9117 = x9116
-x9118 = x9117
-x9119 = x9118
-x9120 = x9119
-x9121 = x9120
-x9122 = x9121
-x9123 = x9122
-x9124 = x9123
-x9125 = x9124
-x9126 = x9125
-x9127 = x9126
-x9128 = x9127
-x9129 = x9128
-x9130 = x9129
-x9131 = x9130
-x9132 = x9131
-x9133 = x9132
-x9134 = x9133
-x9135 = x9134
-x9136 = x9135
-x9137 = x9136
-x9138 = x9137
-x9139 = x9138
-x9140 = x9139
-x9141 = x9140
-x9142 = x9141
-x9143 = x9142
-x9144 = x9143
-x9145 = x9144
-x9146 = x9145
-x9147 = x9146
-x9148 = x9147
-x9149 = x9148
-x9150 = x9149
-x9151 = x9150
-x9152 = x9151
-x9153 = x9152
-x9154 = x9153
-x9155 = x9154
-x9156 = x9155
-x9157 = x9156
-x9158 = x9157
-x9159 = x9158
-x9160 = x9159
-x9161 = x9160
-x9162 = x9161
-x9163 = x9162
-x9164 = x9163
-x9165 = x9164
-x9166 = x9165
-x9167 = x9166
-x9168 = x9167
-x9169 = x9168
-x9170 = x9169
-x9171 = x9170
-x9172 = x9171
-x9173 = x9172
-x9174 = x9173
-x9175 = x9174
-x9176 = x9175
-x9177 = x9176
-x9178 = x9177
-x9179 = x9178
-x9180 = x9179
-x9181 = x9180
-x9182 = x9181
-x9183 = x9182
-x9184 = x9183
-x9185 = x9184
-x9186 = x9185
-x9187 = x9186
-x9188 = x9187
-x9189 = x9188
-x9190 = x9189
-x9191 = x9190
-x9192 = x9191
-x9193 = x9192
-x9194 = x9193
-x9195 = x9194
-x9196 = x9195
-x9197 = x9196
-x9198 = x9197
-x9199 = x9198
-x9200 = x9199
-x9201 = x9200
-x9202 = x9201
-x9203 = x9202
-x9204 = x9203
-x9205 = x9204
-x9206 = x9205
-x9207 = x9206
-x9208 = x9207
-x9209 = x9208
-x9210 = x9209
-x9211 = x9210
-x9212 = x9211
-x9213 = x9212
-x9214 = x9213
-x9215 = x9214
-x9216 = x9215
-x9217 = x9216
-x9218 = x9217
-x9219 = x9218
-x9220 = x9219
-x9221 = x9220
-x9222 = x9221
-x9223 = x9222
-x9224 = x9223
-x9225 = x9224
-x9226 = x9225
-x9227 = x9226
-x9228 = x9227
-x9229 = x9228
-x9230 = x9229
-x9231 = x9230
-x9232 = x9231
-x9233 = x9232
-x9234 = x9233
-x9235 = x9234
-x9236 = x9235
-x9237 = x9236
-x9238 = x9237
-x9239 = x9238
-x9240 = x9239
-x9241 = x9240
-x9242 = x9241
-x9243 = x9242
-x9244 = x9243
-x9245 = x9244
-x9246 = x9245
-x9247 = x9246
-x9248 = x9247
-x9249 = x9248
-x9250 = x9249
-x9251 = x9250
-x9252 = x9251
-x9253 = x9252
-x9254 = x9253
-x9255 = x9254
-x9256 = x9255
-x9257 = x9256
-x9258 = x9257
-x9259 = x9258
-x9260 = x9259
-x9261 = x9260
-x9262 = x9261
-x9263 = x9262
-x9264 = x9263
-x9265 = x9264
-x9266 = x9265
-x9267 = x9266
-x9268 = x9267
-x9269 = x9268
-x9270 = x9269
-x9271 = x9270
-x9272 = x9271
-x9273 = x9272
-x9274 = x9273
-x9275 = x9274
-x9276 = x9275
-x9277 = x9276
-x9278 = x9277
-x9279 = x9278
-x9280 = x9279
-x9281 = x9280
-x9282 = x9281
-x9283 = x9282
-x9284 = x9283
-x9285 = x9284
-x9286 = x9285
-x9287 = x9286
-x9288 = x9287
-x9289 = x9288
-x9290 = x9289
-x9291 = x9290
-x9292 = x9291
-x9293 = x9292
-x9294 = x9293
-x9295 = x9294
-x9296 = x9295
-x9297 = x9296
-x9298 = x9297
-x9299 = x9298
-x9300 = x9299
-x9301 = x9300
-x9302 = x9301
-x9303 = x9302
-x9304 = x9303
-x9305 = x9304
-x9306 = x9305
-x9307 = x9306
-x9308 = x9307
-x9309 = x9308
-x9310 = x9309
-x9311 = x9310
-x9312 = x9311
-x9313 = x9312
-x9314 = x9313
-x9315 = x9314
-x9316 = x9315
-x9317 = x9316
-x9318 = x9317
-x9319 = x9318
-x9320 = x9319
-x9321 = x9320
-x9322 = x9321
-x9323 = x9322
-x9324 = x9323
-x9325 = x9324
-x9326 = x9325
-x9327 = x9326
-x9328 = x9327
-x9329 = x9328
-x9330 = x9329
-x9331 = x9330
-x9332 = x9331
-x9333 = x9332
-x9334 = x9333
-x9335 = x9334
-x9336 = x9335
-x9337 = x9336
-x9338 = x9337
-x9339 = x9338
-x9340 = x9339
-x9341 = x9340
-x9342 = x9341
-x9343 = x9342
-x9344 = x9343
-x9345 = x9344
-x9346 = x9345
-x9347 = x9346
-x9348 = x9347
-x9349 = x9348
-x9350 = x9349
-x9351 = x9350
-x9352 = x9351
-x9353 = x9352
-x9354 = x9353
-x9355 = x9354
-x9356 = x9355
-x9357 = x9356
-x9358 = x9357
-x9359 = x9358
-x9360 = x9359
-x9361 = x9360
-x9362 = x9361
-x9363 = x9362
-x9364 = x9363
-x9365 = x9364
-x9366 = x9365
-x9367 = x9366
-x9368 = x9367
-x9369 = x9368
-x9370 = x9369
-x9371 = x9370
-x9372 = x9371
-x9373 = x9372
-x9374 = x9373
-x9375 = x9374
-x9376 = x9375
-x9377 = x9376
-x9378 = x9377
-x9379 = x9378
-x9380 = x9379
-x9381 = x9380
-x9382 = x9381
-x9383 = x9382
-x9384 = x9383
-x9385 = x9384
-x9386 = x9385
-x9387 = x9386
-x9388 = x9387
-x9389 = x9388
-x9390 = x9389
-x9391 = x9390
-x9392 = x9391
-x9393 = x9392
-x9394 = x9393
-x9395 = x9394
-x9396 = x9395
-x9397 = x9396
-x9398 = x9397
-x9399 = x9398
-x9400 = x9399
-x9401 = x9400
-x9402 = x9401
-x9403 = x9402
-x9404 = x9403
-x9405 = x9404
-x9406 = x9405
-x9407 = x9406
-x9408 = x9407
-x9409 = x9408
-x9410 = x9409
-x9411 = x9410
-x9412 = x9411
-x9413 = x9412
-x9414 = x9413
-x9415 = x9414
-x9416 = x9415
-x9417 = x9416
-x9418 = x9417
-x9419 = x9418
-x9420 = x9419
-x9421 = x9420
-x9422 = x9421
-x9423 = x9422
-x9424 = x9423
-x9425 = x9424
-x9426 = x9425
-x9427 = x9426
-x9428 = x9427
-x9429 = x9428
-x9430 = x9429
-x9431 = x9430
-x9432 = x9431
-x9433 = x9432
-x9434 = x9433
-x9435 = x9434
-x9436 = x9435
-x9437 = x9436
-x9438 = x9437
-x9439 = x9438
-x9440 = x9439
-x9441 = x9440
-x9442 = x9441
-x9443 = x9442
-x9444 = x9443
-x9445 = x9444
-x9446 = x9445
-x9447 = x9446
-x9448 = x9447
-x9449 = x9448
-x9450 = x9449
-x9451 = x9450
-x9452 = x9451
-x9453 = x9452
-x9454 = x9453
-x9455 = x9454
-x9456 = x9455
-x9457 = x9456
-x9458 = x9457
-x9459 = x9458
-x9460 = x9459
-x9461 = x9460
-x9462 = x9461
-x9463 = x9462
-x9464 = x9463
-x9465 = x9464
-x9466 = x9465
-x9467 = x9466
-x9468 = x9467
-x9469 = x9468
-x9470 = x9469
-x9471 = x9470
-x9472 = x9471
-x9473 = x9472
-x9474 = x9473
-x9475 = x9474
-x9476 = x9475
-x9477 = x9476
-x9478 = x9477
-x9479 = x9478
-x9480 = x9479
-x9481 = x9480
-x9482 = x9481
-x9483 = x9482
-x9484 = x9483
-x9485 = x9484
-x9486 = x9485
-x9487 = x9486
-x9488 = x9487
-x9489 = x9488
-x9490 = x9489
-x9491 = x9490
-x9492 = x9491
-x9493 = x9492
-x9494 = x9493
-x9495 = x9494
-x9496 = x9495
-x9497 = x9496
-x9498 = x9497
-x9499 = x9498
-x9500 = x9499
-x9501 = x9500
-x9502 = x9501
-x9503 = x9502
-x9504 = x9503
-x9505 = x9504
-x9506 = x9505
-x9507 = x9506
-x9508 = x9507
-x9509 = x9508
-x9510 = x9509
-x9511 = x9510
-x9512 = x9511
-x9513 = x9512
-x9514 = x9513
-x9515 = x9514
-x9516 = x9515
-x9517 = x9516
-x9518 = x9517
-x9519 = x9518
-x9520 = x9519
-x9521 = x9520
-x9522 = x9521
-x9523 = x9522
-x9524 = x9523
-x9525 = x9524
-x9526 = x9525
-x9527 = x9526
-x9528 = x9527
-x9529 = x9528
-x9530 = x9529
-x9531 = x9530
-x9532 = x9531
-x9533 = x9532
-x9534 = x9533
-x9535 = x9534
-x9536 = x9535
-x9537 = x9536
-x9538 = x9537
-x9539 = x9538
-x9540 = x9539
-x9541 = x9540
-x9542 = x9541
-x9543 = x9542
-x9544 = x9543
-x9545 = x9544
-x9546 = x9545
-x9547 = x9546
-x9548 = x9547
-x9549 = x9548
-x9550 = x9549
-x9551 = x9550
-x9552 = x9551
-x9553 = x9552
-x9554 = x9553
-x9555 = x9554
-x9556 = x9555
-x9557 = x9556
-x9558 = x9557
-x9559 = x9558
-x9560 = x9559
-x9561 = x9560
-x9562 = x9561
-x9563 = x9562
-x9564 = x9563
-x9565 = x9564
-x9566 = x9565
-x9567 = x9566
-x9568 = x9567
-x9569 = x9568
-x9570 = x9569
-x9571 = x9570
-x9572 = x9571
-x9573 = x9572
-x9574 = x9573
-x9575 = x9574
-x9576 = x9575
-x9577 = x9576
-x9578 = x9577
-x9579 = x9578
-x9580 = x9579
-x9581 = x9580
-x9582 = x9581
-x9583 = x9582
-x9584 = x9583
-x9585 = x9584
-x9586 = x9585
-x9587 = x9586
-x9588 = x9587
-x9589 = x9588
-x9590 = x9589
-x9591 = x9590
-x9592 = x9591
-x9593 = x9592
-x9594 = x9593
-x9595 = x9594
-x9596 = x9595
-x9597 = x9596
-x9598 = x9597
-x9599 = x9598
-x9600 = x9599
-x9601 = x9600
-x9602 = x9601
-x9603 = x9602
-x9604 = x9603
-x9605 = x9604
-x9606 = x9605
-x9607 = x9606
-x9608 = x9607
-x9609 = x9608
-x9610 = x9609
-x9611 = x9610
-x9612 = x9611
-x9613 = x9612
-x9614 = x9613
-x9615 = x9614
-x9616 = x9615
-x9617 = x9616
-x9618 = x9617
-x9619 = x9618
-x9620 = x9619
-x9621 = x9620
-x9622 = x9621
-x9623 = x9622
-x9624 = x9623
-x9625 = x9624
-x9626 = x9625
-x9627 = x9626
-x9628 = x9627
-x9629 = x9628
-x9630 = x9629
-x9631 = x9630
-x9632 = x9631
-x9633 = x9632
-x9634 = x9633
-x9635 = x9634
-x9636 = x9635
-x9637 = x9636
-x9638 = x9637
-x9639 = x9638
-x9640 = x9639
-x9641 = x9640
-x9642 = x9641
-x9643 = x9642
-x9644 = x9643
-x9645 = x9644
-x9646 = x9645
-x9647 = x9646
-x9648 = x9647
-x9649 = x9648
-x9650 = x9649
-x9651 = x9650
-x9652 = x9651
-x9653 = x9652
-x9654 = x9653
-x9655 = x9654
-x9656 = x9655
-x9657 = x9656
-x9658 = x9657
-x9659 = x9658
-x9660 = x9659
-x9661 = x9660
-x9662 = x9661
-x9663 = x9662
-x9664 = x9663
-x9665 = x9664
-x9666 = x9665
-x9667 = x9666
-x9668 = x9667
-x9669 = x9668
-x9670 = x9669
-x9671 = x9670
-x9672 = x9671
-x9673 = x9672
-x9674 = x9673
-x9675 = x9674
-x9676 = x9675
-x9677 = x9676
-x9678 = x9677
-x9679 = x9678
-x9680 = x9679
-x9681 = x9680
-x9682 = x9681
-x9683 = x9682
-x9684 = x9683
-x9685 = x9684
-x9686 = x9685
-x9687 = x9686
-x9688 = x9687
-x9689 = x9688
-x9690 = x9689
-x9691 = x9690
-x9692 = x9691
-x9693 = x9692
-x9694 = x9693
-x9695 = x9694
-x9696 = x9695
-x9697 = x9696
-x9698 = x9697
-x9699 = x9698
-x9700 = x9699
-x9701 = x9700
-x9702 = x9701
-x9703 = x9702
-x9704 = x9703
-x9705 = x9704
-x9706 = x9705
-x9707 = x9706
-x9708 = x9707
-x9709 = x9708
-x9710 = x9709
-x9711 = x9710
-x9712 = x9711
-x9713 = x9712
-x9714 = x9713
-x9715 = x9714
-x9716 = x9715
-x9717 = x9716
-x9718 = x9717
-x9719 = x9718
-x9720 = x9719
-x9721 = x9720
-x9722 = x9721
-x9723 = x9722
-x9724 = x9723
-x9725 = x9724
-x9726 = x9725
-x9727 = x9726
-x9728 = x9727
-x9729 = x9728
-x9730 = x9729
-x9731 = x9730
-x9732 = x9731
-x9733 = x9732
-x9734 = x9733
-x9735 = x9734
-x9736 = x9735
-x9737 = x9736
-x9738 = x9737
-x9739 = x9738
-x9740 = x9739
-x9741 = x9740
-x9742 = x9741
-x9743 = x9742
-x9744 = x9743
-x9745 = x9744
-x9746 = x9745
-x9747 = x9746
-x9748 = x9747
-x9749 = x9748
-x9750 = x9749
-x9751 = x9750
-x9752 = x9751
-x9753 = x9752
-x9754 = x9753
-x9755 = x9754
-x9756 = x9755
-x9757 = x9756
-x9758 = x9757
-x9759 = x9758
-x9760 = x9759
-x9761 = x9760
-x9762 = x9761
-x9763 = x9762
-x9764 = x9763
-x9765 = x9764
-x9766 = x9765
-x9767 = x9766
-x9768 = x9767
-x9769 = x9768
-x9770 = x9769
-x9771 = x9770
-x9772 = x9771
-x9773 = x9772
-x9774 = x9773
-x9775 = x9774
-x9776 = x9775
-x9777 = x9776
-x9778 = x9777
-x9779 = x9778
-x9780 = x9779
-x9781 = x9780
-x9782 = x9781
-x9783 = x9782
-x9784 = x9783
-x9785 = x9784
-x9786 = x9785
-x9787 = x9786
-x9788 = x9787
-x9789 = x9788
-x9790 = x9789
-x9791 = x9790
-x9792 = x9791
-x9793 = x9792
-x9794 = x9793
-x9795 = x9794
-x9796 = x9795
-x9797 = x9796
-x9798 = x9797
-x9799 = x9798
-x9800 = x9799
-x9801 = x9800
-x9802 = x9801
-x9803 = x9802
-x9804 = x9803
-x9805 = x9804
-x9806 = x9805
-x9807 = x9806
-x9808 = x9807
-x9809 = x9808
-x9810 = x9809
-x9811 = x9810
-x9812 = x9811
-x9813 = x9812
-x9814 = x9813
-x9815 = x9814
-x9816 = x9815
-x9817 = x9816
-x9818 = x9817
-x9819 = x9818
-x9820 = x9819
-x9821 = x9820
-x9822 = x9821
-x9823 = x9822
-x9824 = x9823
-x9825 = x9824
-x9826 = x9825
-x9827 = x9826
-x9828 = x9827
-x9829 = x9828
-x9830 = x9829
-x9831 = x9830
-x9832 = x9831
-x9833 = x9832
-x9834 = x9833
-x9835 = x9834
-x9836 = x9835
-x9837 = x9836
-x9838 = x9837
-x9839 = x9838
-x9840 = x9839
-x9841 = x9840
-x9842 = x9841
-x9843 = x9842
-x9844 = x9843
-x9845 = x9844
-x9846 = x9845
-x9847 = x9846
-x9848 = x9847
-x9849 = x9848
-x9850 = x9849
-x9851 = x9850
-x9852 = x9851
-x9853 = x9852
-x9854 = x9853
-x9855 = x9854
-x9856 = x9855
-x9857 = x9856
-x9858 = x9857
-x9859 = x9858
-x9860 = x9859
-x9861 = x9860
-x9862 = x9861
-x9863 = x9862
-x9864 = x9863
-x9865 = x9864
-x9866 = x9865
-x9867 = x9866
-x9868 = x9867
-x9869 = x9868
-x9870 = x9869
-x9871 = x9870
-x9872 = x9871
-x9873 = x9872
-x9874 = x9873
-x9875 = x9874
-x9876 = x9875
-x9877 = x9876
-x9878 = x9877
-x9879 = x9878
-x9880 = x9879
-x9881 = x9880
-x9882 = x9881
-x9883 = x9882
-x9884 = x9883
-x9885 = x9884
-x9886 = x9885
-x9887 = x9886
-x9888 = x9887
-x9889 = x9888
-x9890 = x9889
-x9891 = x9890
-x9892 = x9891
-x9893 = x9892
-x9894 = x9893
-x9895 = x9894
-x9896 = x9895
-x9897 = x9896
-x9898 = x9897
-x9899 = x9898
-x9900 = x9899
-x9901 = x9900
-x9902 = x9901
-x9903 = x9902
-x9904 = x9903
-x9905 = x9904
-x9906 = x9905
-x9907 = x9906
-x9908 = x9907
-x9909 = x9908
-x9910 = x9909
-x9911 = x9910
-x9912 = x9911
-x9913 = x9912
-x9914 = x9913
-x9915 = x9914
-x9916 = x9915
-x9917 = x9916
-x9918 = x9917
-x9919 = x9918
-x9920 = x9919
-x9921 = x9920
-x9922 = x9921
-x9923 = x9922
-x9924 = x9923
-x9925 = x9924
-x9926 = x9925
-x9927 = x9926
-x9928 = x9927
-x9929 = x9928
-x9930 = x9929
-x9931 = x9930
-x9932 = x9931
-x9933 = x9932
-x9934 = x9933
-x9935 = x9934
-x9936 = x9935
-x9937 = x9936
-x9938 = x9937
-x9939 = x9938
-x9940 = x9939
-x9941 = x9940
-x9942 = x9941
-x9943 = x9942
-x9944 = x9943
-x9945 = x9944
-x9946 = x9945
-x9947 = x9946
-x9948 = x9947
-x9949 = x9948
-x9950 = x9949
-x9951 = x9950
-x9952 = x9951
-x9953 = x9952
-x9954 = x9953
-x9955 = x9954
-x9956 = x9955
-x9957 = x9956
-x9958 = x9957
-x9959 = x9958
-x9960 = x9959
-x9961 = x9960
-x9962 = x9961
-x9963 = x9962
-x9964 = x9963
-x9965 = x9964
-x9966 = x9965
-x9967 = x9966
-x9968 = x9967
-x9969 = x9968
-x9970 = x9969
-x9971 = x9970
-x9972 = x9971
-x9973 = x9972
-x9974 = x9973
-x9975 = x9974
-x9976 = x9975
-x9977 = x9976
-x9978 = x9977
-x9979 = x9978
-x9980 = x9979
-x9981 = x9980
-x9982 = x9981
-x9983 = x9982
-x9984 = x9983
-x9985 = x9984
-x9986 = x9985
-x9987 = x9986
-x9988 = x9987
-x9989 = x9988
-x9990 = x9989
-x9991 = x9990
-x9992 = x9991
-x9993 = x9992
-x9994 = x9993
-x9995 = x9994
-x9996 = x9995
-x9997 = x9996
-x9998 = x9997
-x9999 = x9998
x10000 = x9999
+x9999 = x9998
+x9998 = x9997
+x9997 = x9996
+x9996 = x9995
+x9995 = x9994
+x9994 = x9993
+x9993 = x9992
+x9992 = x9991
+x9991 = x9990
+x9990 = x9989
+x9989 = x9988
+x9988 = x9987
+x9987 = x9986
+x9986 = x9985
+x9985 = x9984
+x9984 = x9983
+x9983 = x9982
+x9982 = x9981
+x9981 = x9980
+x9980 = x9979
+x9979 = x9978
+x9978 = x9977
+x9977 = x9976
+x9976 = x9975
+x9975 = x9974
+x9974 = x9973
+x9973 = x9972
+x9972 = x9971
+x9971 = x9970
+x9970 = x9969
+x9969 = x9968
+x9968 = x9967
+x9967 = x9966
+x9966 = x9965
+x9965 = x9964
+x9964 = x9963
+x9963 = x9962
+x9962 = x9961
+x9961 = x9960
+x9960 = x9959
+x9959 = x9958
+x9958 = x9957
+x9957 = x9956
+x9956 = x9955
+x9955 = x9954
+x9954 = x9953
+x9953 = x9952
+x9952 = x9951
+x9951 = x9950
+x9950 = x9949
+x9949 = x9948
+x9948 = x9947
+x9947 = x9946
+x9946 = x9945
+x9945 = x9944
+x9944 = x9943
+x9943 = x9942
+x9942 = x9941
+x9941 = x9940
+x9940 = x9939
+x9939 = x9938
+x9938 = x9937
+x9937 = x9936
+x9936 = x9935
+x9935 = x9934
+x9934 = x9933
+x9933 = x9932
+x9932 = x9931
+x9931 = x9930
+x9930 = x9929
+x9929 = x9928
+x9928 = x9927
+x9927 = x9926
+x9926 = x9925
+x9925 = x9924
+x9924 = x9923
+x9923 = x9922
+x9922 = x9921
+x9921 = x9920
+x9920 = x9919
+x9919 = x9918
+x9918 = x9917
+x9917 = x9916
+x9916 = x9915
+x9915 = x9914
+x9914 = x9913
+x9913 = x9912
+x9912 = x9911
+x9911 = x9910
+x9910 = x9909
+x9909 = x9908
+x9908 = x9907
+x9907 = x9906
+x9906 = x9905
+x9905 = x9904
+x9904 = x9903
+x9903 = x9902
+x9902 = x9901
+x9901 = x9900
+x9900 = x9899
+x9899 = x9898
+x9898 = x9897
+x9897 = x9896
+x9896 = x9895
+x9895 = x9894
+x9894 = x9893
+x9893 = x9892
+x9892 = x9891
+x9891 = x9890
+x9890 = x9889
+x9889 = x9888
+x9888 = x9887
+x9887 = x9886
+x9886 = x9885
+x9885 = x9884
+x9884 = x9883
+x9883 = x9882
+x9882 = x9881
+x9881 = x9880
+x9880 = x9879
+x9879 = x9878
+x9878 = x9877
+x9877 = x9876
+x9876 = x9875
+x9875 = x9874
+x9874 = x9873
+x9873 = x9872
+x9872 = x9871
+x9871 = x9870
+x9870 = x9869
+x9869 = x9868
+x9868 = x9867
+x9867 = x9866
+x9866 = x9865
+x9865 = x9864
+x9864 = x9863
+x9863 = x9862
+x9862 = x9861
+x9861 = x9860
+x9860 = x9859
+x9859 = x9858
+x9858 = x9857
+x9857 = x9856
+x9856 = x9855
+x9855 = x9854
+x9854 = x9853
+x9853 = x9852
+x9852 = x9851
+x9851 = x9850
+x9850 = x9849
+x9849 = x9848
+x9848 = x9847
+x9847 = x9846
+x9846 = x9845
+x9845 = x9844
+x9844 = x9843
+x9843 = x9842
+x9842 = x9841
+x9841 = x9840
+x9840 = x9839
+x9839 = x9838
+x9838 = x9837
+x9837 = x9836
+x9836 = x9835
+x9835 = x9834
+x9834 = x9833
+x9833 = x9832
+x9832 = x9831
+x9831 = x9830
+x9830 = x9829
+x9829 = x9828
+x9828 = x9827
+x9827 = x9826
+x9826 = x9825
+x9825 = x9824
+x9824 = x9823
+x9823 = x9822
+x9822 = x9821
+x9821 = x9820
+x9820 = x9819
+x9819 = x9818
+x9818 = x9817
+x9817 = x9816
+x9816 = x9815
+x9815 = x9814
+x9814 = x9813
+x9813 = x9812
+x9812 = x9811
+x9811 = x9810
+x9810 = x9809
+x9809 = x9808
+x9808 = x9807
+x9807 = x9806
+x9806 = x9805
+x9805 = x9804
+x9804 = x9803
+x9803 = x9802
+x9802 = x9801
+x9801 = x9800
+x9800 = x9799
+x9799 = x9798
+x9798 = x9797
+x9797 = x9796
+x9796 = x9795
+x9795 = x9794
+x9794 = x9793
+x9793 = x9792
+x9792 = x9791
+x9791 = x9790
+x9790 = x9789
+x9789 = x9788
+x9788 = x9787
+x9787 = x9786
+x9786 = x9785
+x9785 = x9784
+x9784 = x9783
+x9783 = x9782
+x9782 = x9781
+x9781 = x9780
+x9780 = x9779
+x9779 = x9778
+x9778 = x9777
+x9777 = x9776
+x9776 = x9775
+x9775 = x9774
+x9774 = x9773
+x9773 = x9772
+x9772 = x9771
+x9771 = x9770
+x9770 = x9769
+x9769 = x9768
+x9768 = x9767
+x9767 = x9766
+x9766 = x9765
+x9765 = x9764
+x9764 = x9763
+x9763 = x9762
+x9762 = x9761
+x9761 = x9760
+x9760 = x9759
+x9759 = x9758
+x9758 = x9757
+x9757 = x9756
+x9756 = x9755
+x9755 = x9754
+x9754 = x9753
+x9753 = x9752
+x9752 = x9751
+x9751 = x9750
+x9750 = x9749
+x9749 = x9748
+x9748 = x9747
+x9747 = x9746
+x9746 = x9745
+x9745 = x9744
+x9744 = x9743
+x9743 = x9742
+x9742 = x9741
+x9741 = x9740
+x9740 = x9739
+x9739 = x9738
+x9738 = x9737
+x9737 = x9736
+x9736 = x9735
+x9735 = x9734
+x9734 = x9733
+x9733 = x9732
+x9732 = x9731
+x9731 = x9730
+x9730 = x9729
+x9729 = x9728
+x9728 = x9727
+x9727 = x9726
+x9726 = x9725
+x9725 = x9724
+x9724 = x9723
+x9723 = x9722
+x9722 = x9721
+x9721 = x9720
+x9720 = x9719
+x9719 = x9718
+x9718 = x9717
+x9717 = x9716
+x9716 = x9715
+x9715 = x9714
+x9714 = x9713
+x9713 = x9712
+x9712 = x9711
+x9711 = x9710
+x9710 = x9709
+x9709 = x9708
+x9708 = x9707
+x9707 = x9706
+x9706 = x9705
+x9705 = x9704
+x9704 = x9703
+x9703 = x9702
+x9702 = x9701
+x9701 = x9700
+x9700 = x9699
+x9699 = x9698
+x9698 = x9697
+x9697 = x9696
+x9696 = x9695
+x9695 = x9694
+x9694 = x9693
+x9693 = x9692
+x9692 = x9691
+x9691 = x9690
+x9690 = x9689
+x9689 = x9688
+x9688 = x9687
+x9687 = x9686
+x9686 = x9685
+x9685 = x9684
+x9684 = x9683
+x9683 = x9682
+x9682 = x9681
+x9681 = x9680
+x9680 = x9679
+x9679 = x9678
+x9678 = x9677
+x9677 = x9676
+x9676 = x9675
+x9675 = x9674
+x9674 = x9673
+x9673 = x9672
+x9672 = x9671
+x9671 = x9670
+x9670 = x9669
+x9669 = x9668
+x9668 = x9667
+x9667 = x9666
+x9666 = x9665
+x9665 = x9664
+x9664 = x9663
+x9663 = x9662
+x9662 = x9661
+x9661 = x9660
+x9660 = x9659
+x9659 = x9658
+x9658 = x9657
+x9657 = x9656
+x9656 = x9655
+x9655 = x9654
+x9654 = x9653
+x9653 = x9652
+x9652 = x9651
+x9651 = x9650
+x9650 = x9649
+x9649 = x9648
+x9648 = x9647
+x9647 = x9646
+x9646 = x9645
+x9645 = x9644
+x9644 = x9643
+x9643 = x9642
+x9642 = x9641
+x9641 = x9640
+x9640 = x9639
+x9639 = x9638
+x9638 = x9637
+x9637 = x9636
+x9636 = x9635
+x9635 = x9634
+x9634 = x9633
+x9633 = x9632
+x9632 = x9631
+x9631 = x9630
+x9630 = x9629
+x9629 = x9628
+x9628 = x9627
+x9627 = x9626
+x9626 = x9625
+x9625 = x9624
+x9624 = x9623
+x9623 = x9622
+x9622 = x9621
+x9621 = x9620
+x9620 = x9619
+x9619 = x9618
+x9618 = x9617
+x9617 = x9616
+x9616 = x9615
+x9615 = x9614
+x9614 = x9613
+x9613 = x9612
+x9612 = x9611
+x9611 = x9610
+x9610 = x9609
+x9609 = x9608
+x9608 = x9607
+x9607 = x9606
+x9606 = x9605
+x9605 = x9604
+x9604 = x9603
+x9603 = x9602
+x9602 = x9601
+x9601 = x9600
+x9600 = x9599
+x9599 = x9598
+x9598 = x9597
+x9597 = x9596
+x9596 = x9595
+x9595 = x9594
+x9594 = x9593
+x9593 = x9592
+x9592 = x9591
+x9591 = x9590
+x9590 = x9589
+x9589 = x9588
+x9588 = x9587
+x9587 = x9586
+x9586 = x9585
+x9585 = x9584
+x9584 = x9583
+x9583 = x9582
+x9582 = x9581
+x9581 = x9580
+x9580 = x9579
+x9579 = x9578
+x9578 = x9577
+x9577 = x9576
+x9576 = x9575
+x9575 = x9574
+x9574 = x9573
+x9573 = x9572
+x9572 = x9571
+x9571 = x9570
+x9570 = x9569
+x9569 = x9568
+x9568 = x9567
+x9567 = x9566
+x9566 = x9565
+x9565 = x9564
+x9564 = x9563
+x9563 = x9562
+x9562 = x9561
+x9561 = x9560
+x9560 = x9559
+x9559 = x9558
+x9558 = x9557
+x9557 = x9556
+x9556 = x9555
+x9555 = x9554
+x9554 = x9553
+x9553 = x9552
+x9552 = x9551
+x9551 = x9550
+x9550 = x9549
+x9549 = x9548
+x9548 = x9547
+x9547 = x9546
+x9546 = x9545
+x9545 = x9544
+x9544 = x9543
+x9543 = x9542
+x9542 = x9541
+x9541 = x9540
+x9540 = x9539
+x9539 = x9538
+x9538 = x9537
+x9537 = x9536
+x9536 = x9535
+x9535 = x9534
+x9534 = x9533
+x9533 = x9532
+x9532 = x9531
+x9531 = x9530
+x9530 = x9529
+x9529 = x9528
+x9528 = x9527
+x9527 = x9526
+x9526 = x9525
+x9525 = x9524
+x9524 = x9523
+x9523 = x9522
+x9522 = x9521
+x9521 = x9520
+x9520 = x9519
+x9519 = x9518
+x9518 = x9517
+x9517 = x9516
+x9516 = x9515
+x9515 = x9514
+x9514 = x9513
+x9513 = x9512
+x9512 = x9511
+x9511 = x9510
+x9510 = x9509
+x9509 = x9508
+x9508 = x9507
+x9507 = x9506
+x9506 = x9505
+x9505 = x9504
+x9504 = x9503
+x9503 = x9502
+x9502 = x9501
+x9501 = x9500
+x9500 = x9499
+x9499 = x9498
+x9498 = x9497
+x9497 = x9496
+x9496 = x9495
+x9495 = x9494
+x9494 = x9493
+x9493 = x9492
+x9492 = x9491
+x9491 = x9490
+x9490 = x9489
+x9489 = x9488
+x9488 = x9487
+x9487 = x9486
+x9486 = x9485
+x9485 = x9484
+x9484 = x9483
+x9483 = x9482
+x9482 = x9481
+x9481 = x9480
+x9480 = x9479
+x9479 = x9478
+x9478 = x9477
+x9477 = x9476
+x9476 = x9475
+x9475 = x9474
+x9474 = x9473
+x9473 = x9472
+x9472 = x9471
+x9471 = x9470
+x9470 = x9469
+x9469 = x9468
+x9468 = x9467
+x9467 = x9466
+x9466 = x9465
+x9465 = x9464
+x9464 = x9463
+x9463 = x9462
+x9462 = x9461
+x9461 = x9460
+x9460 = x9459
+x9459 = x9458
+x9458 = x9457
+x9457 = x9456
+x9456 = x9455
+x9455 = x9454
+x9454 = x9453
+x9453 = x9452
+x9452 = x9451
+x9451 = x9450
+x9450 = x9449
+x9449 = x9448
+x9448 = x9447
+x9447 = x9446
+x9446 = x9445
+x9445 = x9444
+x9444 = x9443
+x9443 = x9442
+x9442 = x9441
+x9441 = x9440
+x9440 = x9439
+x9439 = x9438
+x9438 = x9437
+x9437 = x9436
+x9436 = x9435
+x9435 = x9434
+x9434 = x9433
+x9433 = x9432
+x9432 = x9431
+x9431 = x9430
+x9430 = x9429
+x9429 = x9428
+x9428 = x9427
+x9427 = x9426
+x9426 = x9425
+x9425 = x9424
+x9424 = x9423
+x9423 = x9422
+x9422 = x9421
+x9421 = x9420
+x9420 = x9419
+x9419 = x9418
+x9418 = x9417
+x9417 = x9416
+x9416 = x9415
+x9415 = x9414
+x9414 = x9413
+x9413 = x9412
+x9412 = x9411
+x9411 = x9410
+x9410 = x9409
+x9409 = x9408
+x9408 = x9407
+x9407 = x9406
+x9406 = x9405
+x9405 = x9404
+x9404 = x9403
+x9403 = x9402
+x9402 = x9401
+x9401 = x9400
+x9400 = x9399
+x9399 = x9398
+x9398 = x9397
+x9397 = x9396
+x9396 = x9395
+x9395 = x9394
+x9394 = x9393
+x9393 = x9392
+x9392 = x9391
+x9391 = x9390
+x9390 = x9389
+x9389 = x9388
+x9388 = x9387
+x9387 = x9386
+x9386 = x9385
+x9385 = x9384
+x9384 = x9383
+x9383 = x9382
+x9382 = x9381
+x9381 = x9380
+x9380 = x9379
+x9379 = x9378
+x9378 = x9377
+x9377 = x9376
+x9376 = x9375
+x9375 = x9374
+x9374 = x9373
+x9373 = x9372
+x9372 = x9371
+x9371 = x9370
+x9370 = x9369
+x9369 = x9368
+x9368 = x9367
+x9367 = x9366
+x9366 = x9365
+x9365 = x9364
+x9364 = x9363
+x9363 = x9362
+x9362 = x9361
+x9361 = x9360
+x9360 = x9359
+x9359 = x9358
+x9358 = x9357
+x9357 = x9356
+x9356 = x9355
+x9355 = x9354
+x9354 = x9353
+x9353 = x9352
+x9352 = x9351
+x9351 = x9350
+x9350 = x9349
+x9349 = x9348
+x9348 = x9347
+x9347 = x9346
+x9346 = x9345
+x9345 = x9344
+x9344 = x9343
+x9343 = x9342
+x9342 = x9341
+x9341 = x9340
+x9340 = x9339
+x9339 = x9338
+x9338 = x9337
+x9337 = x9336
+x9336 = x9335
+x9335 = x9334
+x9334 = x9333
+x9333 = x9332
+x9332 = x9331
+x9331 = x9330
+x9330 = x9329
+x9329 = x9328
+x9328 = x9327
+x9327 = x9326
+x9326 = x9325
+x9325 = x9324
+x9324 = x9323
+x9323 = x9322
+x9322 = x9321
+x9321 = x9320
+x9320 = x9319
+x9319 = x9318
+x9318 = x9317
+x9317 = x9316
+x9316 = x9315
+x9315 = x9314
+x9314 = x9313
+x9313 = x9312
+x9312 = x9311
+x9311 = x9310
+x9310 = x9309
+x9309 = x9308
+x9308 = x9307
+x9307 = x9306
+x9306 = x9305
+x9305 = x9304
+x9304 = x9303
+x9303 = x9302
+x9302 = x9301
+x9301 = x9300
+x9300 = x9299
+x9299 = x9298
+x9298 = x9297
+x9297 = x9296
+x9296 = x9295
+x9295 = x9294
+x9294 = x9293
+x9293 = x9292
+x9292 = x9291
+x9291 = x9290
+x9290 = x9289
+x9289 = x9288
+x9288 = x9287
+x9287 = x9286
+x9286 = x9285
+x9285 = x9284
+x9284 = x9283
+x9283 = x9282
+x9282 = x9281
+x9281 = x9280
+x9280 = x9279
+x9279 = x9278
+x9278 = x9277
+x9277 = x9276
+x9276 = x9275
+x9275 = x9274
+x9274 = x9273
+x9273 = x9272
+x9272 = x9271
+x9271 = x9270
+x9270 = x9269
+x9269 = x9268
+x9268 = x9267
+x9267 = x9266
+x9266 = x9265
+x9265 = x9264
+x9264 = x9263
+x9263 = x9262
+x9262 = x9261
+x9261 = x9260
+x9260 = x9259
+x9259 = x9258
+x9258 = x9257
+x9257 = x9256
+x9256 = x9255
+x9255 = x9254
+x9254 = x9253
+x9253 = x9252
+x9252 = x9251
+x9251 = x9250
+x9250 = x9249
+x9249 = x9248
+x9248 = x9247
+x9247 = x9246
+x9246 = x9245
+x9245 = x9244
+x9244 = x9243
+x9243 = x9242
+x9242 = x9241
+x9241 = x9240
+x9240 = x9239
+x9239 = x9238
+x9238 = x9237
+x9237 = x9236
+x9236 = x9235
+x9235 = x9234
+x9234 = x9233
+x9233 = x9232
+x9232 = x9231
+x9231 = x9230
+x9230 = x9229
+x9229 = x9228
+x9228 = x9227
+x9227 = x9226
+x9226 = x9225
+x9225 = x9224
+x9224 = x9223
+x9223 = x9222
+x9222 = x9221
+x9221 = x9220
+x9220 = x9219
+x9219 = x9218
+x9218 = x9217
+x9217 = x9216
+x9216 = x9215
+x9215 = x9214
+x9214 = x9213
+x9213 = x9212
+x9212 = x9211
+x9211 = x9210
+x9210 = x9209
+x9209 = x9208
+x9208 = x9207
+x9207 = x9206
+x9206 = x9205
+x9205 = x9204
+x9204 = x9203
+x9203 = x9202
+x9202 = x9201
+x9201 = x9200
+x9200 = x9199
+x9199 = x9198
+x9198 = x9197
+x9197 = x9196
+x9196 = x9195
+x9195 = x9194
+x9194 = x9193
+x9193 = x9192
+x9192 = x9191
+x9191 = x9190
+x9190 = x9189
+x9189 = x9188
+x9188 = x9187
+x9187 = x9186
+x9186 = x9185
+x9185 = x9184
+x9184 = x9183
+x9183 = x9182
+x9182 = x9181
+x9181 = x9180
+x9180 = x9179
+x9179 = x9178
+x9178 = x9177
+x9177 = x9176
+x9176 = x9175
+x9175 = x9174
+x9174 = x9173
+x9173 = x9172
+x9172 = x9171
+x9171 = x9170
+x9170 = x9169
+x9169 = x9168
+x9168 = x9167
+x9167 = x9166
+x9166 = x9165
+x9165 = x9164
+x9164 = x9163
+x9163 = x9162
+x9162 = x9161
+x9161 = x9160
+x9160 = x9159
+x9159 = x9158
+x9158 = x9157
+x9157 = x9156
+x9156 = x9155
+x9155 = x9154
+x9154 = x9153
+x9153 = x9152
+x9152 = x9151
+x9151 = x9150
+x9150 = x9149
+x9149 = x9148
+x9148 = x9147
+x9147 = x9146
+x9146 = x9145
+x9145 = x9144
+x9144 = x9143
+x9143 = x9142
+x9142 = x9141
+x9141 = x9140
+x9140 = x9139
+x9139 = x9138
+x9138 = x9137
+x9137 = x9136
+x9136 = x9135
+x9135 = x9134
+x9134 = x9133
+x9133 = x9132
+x9132 = x9131
+x9131 = x9130
+x9130 = x9129
+x9129 = x9128
+x9128 = x9127
+x9127 = x9126
+x9126 = x9125
+x9125 = x9124
+x9124 = x9123
+x9123 = x9122
+x9122 = x9121
+x9121 = x9120
+x9120 = x9119
+x9119 = x9118
+x9118 = x9117
+x9117 = x9116
+x9116 = x9115
+x9115 = x9114
+x9114 = x9113
+x9113 = x9112
+x9112 = x9111
+x9111 = x9110
+x9110 = x9109
+x9109 = x9108
+x9108 = x9107
+x9107 = x9106
+x9106 = x9105
+x9105 = x9104
+x9104 = x9103
+x9103 = x9102
+x9102 = x9101
+x9101 = x9100
+x9100 = x9099
+x9099 = x9098
+x9098 = x9097
+x9097 = x9096
+x9096 = x9095
+x9095 = x9094
+x9094 = x9093
+x9093 = x9092
+x9092 = x9091
+x9091 = x9090
+x9090 = x9089
+x9089 = x9088
+x9088 = x9087
+x9087 = x9086
+x9086 = x9085
+x9085 = x9084
+x9084 = x9083
+x9083 = x9082
+x9082 = x9081
+x9081 = x9080
+x9080 = x9079
+x9079 = x9078
+x9078 = x9077
+x9077 = x9076
+x9076 = x9075
+x9075 = x9074
+x9074 = x9073
+x9073 = x9072
+x9072 = x9071
+x9071 = x9070
+x9070 = x9069
+x9069 = x9068
+x9068 = x9067
+x9067 = x9066
+x9066 = x9065
+x9065 = x9064
+x9064 = x9063
+x9063 = x9062
+x9062 = x9061
+x9061 = x9060
+x9060 = x9059
+x9059 = x9058
+x9058 = x9057
+x9057 = x9056
+x9056 = x9055
+x9055 = x9054
+x9054 = x9053
+x9053 = x9052
+x9052 = x9051
+x9051 = x9050
+x9050 = x9049
+x9049 = x9048
+x9048 = x9047
+x9047 = x9046
+x9046 = x9045
+x9045 = x9044
+x9044 = x9043
+x9043 = x9042
+x9042 = x9041
+x9041 = x9040
+x9040 = x9039
+x9039 = x9038
+x9038 = x9037
+x9037 = x9036
+x9036 = x9035
+x9035 = x9034
+x9034 = x9033
+x9033 = x9032
+x9032 = x9031
+x9031 = x9030
+x9030 = x9029
+x9029 = x9028
+x9028 = x9027
+x9027 = x9026
+x9026 = x9025
+x9025 = x9024
+x9024 = x9023
+x9023 = x9022
+x9022 = x9021
+x9021 = x9020
+x9020 = x9019
+x9019 = x9018
+x9018 = x9017
+x9017 = x9016
+x9016 = x9015
+x9015 = x9014
+x9014 = x9013
+x9013 = x9012
+x9012 = x9011
+x9011 = x9010
+x9010 = x9009
+x9009 = x9008
+x9008 = x9007
+x9007 = x9006
+x9006 = x9005
+x9005 = x9004
+x9004 = x9003
+x9003 = x9002
+x9002 = x9001
+x9001 = x9000
+x9000 = x8999
+x8999 = x8998
+x8998 = x8997
+x8997 = x8996
+x8996 = x8995
+x8995 = x8994
+x8994 = x8993
+x8993 = x8992
+x8992 = x8991
+x8991 = x8990
+x8990 = x8989
+x8989 = x8988
+x8988 = x8987
+x8987 = x8986
+x8986 = x8985
+x8985 = x8984
+x8984 = x8983
+x8983 = x8982
+x8982 = x8981
+x8981 = x8980
+x8980 = x8979
+x8979 = x8978
+x8978 = x8977
+x8977 = x8976
+x8976 = x8975
+x8975 = x8974
+x8974 = x8973
+x8973 = x8972
+x8972 = x8971
+x8971 = x8970
+x8970 = x8969
+x8969 = x8968
+x8968 = x8967
+x8967 = x8966
+x8966 = x8965
+x8965 = x8964
+x8964 = x8963
+x8963 = x8962
+x8962 = x8961
+x8961 = x8960
+x8960 = x8959
+x8959 = x8958
+x8958 = x8957
+x8957 = x8956
+x8956 = x8955
+x8955 = x8954
+x8954 = x8953
+x8953 = x8952
+x8952 = x8951
+x8951 = x8950
+x8950 = x8949
+x8949 = x8948
+x8948 = x8947
+x8947 = x8946
+x8946 = x8945
+x8945 = x8944
+x8944 = x8943
+x8943 = x8942
+x8942 = x8941
+x8941 = x8940
+x8940 = x8939
+x8939 = x8938
+x8938 = x8937
+x8937 = x8936
+x8936 = x8935
+x8935 = x8934
+x8934 = x8933
+x8933 = x8932
+x8932 = x8931
+x8931 = x8930
+x8930 = x8929
+x8929 = x8928
+x8928 = x8927
+x8927 = x8926
+x8926 = x8925
+x8925 = x8924
+x8924 = x8923
+x8923 = x8922
+x8922 = x8921
+x8921 = x8920
+x8920 = x8919
+x8919 = x8918
+x8918 = x8917
+x8917 = x8916
+x8916 = x8915
+x8915 = x8914
+x8914 = x8913
+x8913 = x8912
+x8912 = x8911
+x8911 = x8910
+x8910 = x8909
+x8909 = x8908
+x8908 = x8907
+x8907 = x8906
+x8906 = x8905
+x8905 = x8904
+x8904 = x8903
+x8903 = x8902
+x8902 = x8901
+x8901 = x8900
+x8900 = x8899
+x8899 = x8898
+x8898 = x8897
+x8897 = x8896
+x8896 = x8895
+x8895 = x8894
+x8894 = x8893
+x8893 = x8892
+x8892 = x8891
+x8891 = x8890
+x8890 = x8889
+x8889 = x8888
+x8888 = x8887
+x8887 = x8886
+x8886 = x8885
+x8885 = x8884
+x8884 = x8883
+x8883 = x8882
+x8882 = x8881
+x8881 = x8880
+x8880 = x8879
+x8879 = x8878
+x8878 = x8877
+x8877 = x8876
+x8876 = x8875
+x8875 = x8874
+x8874 = x8873
+x8873 = x8872
+x8872 = x8871
+x8871 = x8870
+x8870 = x8869
+x8869 = x8868
+x8868 = x8867
+x8867 = x8866
+x8866 = x8865
+x8865 = x8864
+x8864 = x8863
+x8863 = x8862
+x8862 = x8861
+x8861 = x8860
+x8860 = x8859
+x8859 = x8858
+x8858 = x8857
+x8857 = x8856
+x8856 = x8855
+x8855 = x8854
+x8854 = x8853
+x8853 = x8852
+x8852 = x8851
+x8851 = x8850
+x8850 = x8849
+x8849 = x8848
+x8848 = x8847
+x8847 = x8846
+x8846 = x8845
+x8845 = x8844
+x8844 = x8843
+x8843 = x8842
+x8842 = x8841
+x8841 = x8840
+x8840 = x8839
+x8839 = x8838
+x8838 = x8837
+x8837 = x8836
+x8836 = x8835
+x8835 = x8834
+x8834 = x8833
+x8833 = x8832
+x8832 = x8831
+x8831 = x8830
+x8830 = x8829
+x8829 = x8828
+x8828 = x8827
+x8827 = x8826
+x8826 = x8825
+x8825 = x8824
+x8824 = x8823
+x8823 = x8822
+x8822 = x8821
+x8821 = x8820
+x8820 = x8819
+x8819 = x8818
+x8818 = x8817
+x8817 = x8816
+x8816 = x8815
+x8815 = x8814
+x8814 = x8813
+x8813 = x8812
+x8812 = x8811
+x8811 = x8810
+x8810 = x8809
+x8809 = x8808
+x8808 = x8807
+x8807 = x8806
+x8806 = x8805
+x8805 = x8804
+x8804 = x8803
+x8803 = x8802
+x8802 = x8801
+x8801 = x8800
+x8800 = x8799
+x8799 = x8798
+x8798 = x8797
+x8797 = x8796
+x8796 = x8795
+x8795 = x8794
+x8794 = x8793
+x8793 = x8792
+x8792 = x8791
+x8791 = x8790
+x8790 = x8789
+x8789 = x8788
+x8788 = x8787
+x8787 = x8786
+x8786 = x8785
+x8785 = x8784
+x8784 = x8783
+x8783 = x8782
+x8782 = x8781
+x8781 = x8780
+x8780 = x8779
+x8779 = x8778
+x8778 = x8777
+x8777 = x8776
+x8776 = x8775
+x8775 = x8774
+x8774 = x8773
+x8773 = x8772
+x8772 = x8771
+x8771 = x8770
+x8770 = x8769
+x8769 = x8768
+x8768 = x8767
+x8767 = x8766
+x8766 = x8765
+x8765 = x8764
+x8764 = x8763
+x8763 = x8762
+x8762 = x8761
+x8761 = x8760
+x8760 = x8759
+x8759 = x8758
+x8758 = x8757
+x8757 = x8756
+x8756 = x8755
+x8755 = x8754
+x8754 = x8753
+x8753 = x8752
+x8752 = x8751
+x8751 = x8750
+x8750 = x8749
+x8749 = x8748
+x8748 = x8747
+x8747 = x8746
+x8746 = x8745
+x8745 = x8744
+x8744 = x8743
+x8743 = x8742
+x8742 = x8741
+x8741 = x8740
+x8740 = x8739
+x8739 = x8738
+x8738 = x8737
+x8737 = x8736
+x8736 = x8735
+x8735 = x8734
+x8734 = x8733
+x8733 = x8732
+x8732 = x8731
+x8731 = x8730
+x8730 = x8729
+x8729 = x8728
+x8728 = x8727
+x8727 = x8726
+x8726 = x8725
+x8725 = x8724
+x8724 = x8723
+x8723 = x8722
+x8722 = x8721
+x8721 = x8720
+x8720 = x8719
+x8719 = x8718
+x8718 = x8717
+x8717 = x8716
+x8716 = x8715
+x8715 = x8714
+x8714 = x8713
+x8713 = x8712
+x8712 = x8711
+x8711 = x8710
+x8710 = x8709
+x8709 = x8708
+x8708 = x8707
+x8707 = x8706
+x8706 = x8705
+x8705 = x8704
+x8704 = x8703
+x8703 = x8702
+x8702 = x8701
+x8701 = x8700
+x8700 = x8699
+x8699 = x8698
+x8698 = x8697
+x8697 = x8696
+x8696 = x8695
+x8695 = x8694
+x8694 = x8693
+x8693 = x8692
+x8692 = x8691
+x8691 = x8690
+x8690 = x8689
+x8689 = x8688
+x8688 = x8687
+x8687 = x8686
+x8686 = x8685
+x8685 = x8684
+x8684 = x8683
+x8683 = x8682
+x8682 = x8681
+x8681 = x8680
+x8680 = x8679
+x8679 = x8678
+x8678 = x8677
+x8677 = x8676
+x8676 = x8675
+x8675 = x8674
+x8674 = x8673
+x8673 = x8672
+x8672 = x8671
+x8671 = x8670
+x8670 = x8669
+x8669 = x8668
+x8668 = x8667
+x8667 = x8666
+x8666 = x8665
+x8665 = x8664
+x8664 = x8663
+x8663 = x8662
+x8662 = x8661
+x8661 = x8660
+x8660 = x8659
+x8659 = x8658
+x8658 = x8657
+x8657 = x8656
+x8656 = x8655
+x8655 = x8654
+x8654 = x8653
+x8653 = x8652
+x8652 = x8651
+x8651 = x8650
+x8650 = x8649
+x8649 = x8648
+x8648 = x8647
+x8647 = x8646
+x8646 = x8645
+x8645 = x8644
+x8644 = x8643
+x8643 = x8642
+x8642 = x8641
+x8641 = x8640
+x8640 = x8639
+x8639 = x8638
+x8638 = x8637
+x8637 = x8636
+x8636 = x8635
+x8635 = x8634
+x8634 = x8633
+x8633 = x8632
+x8632 = x8631
+x8631 = x8630
+x8630 = x8629
+x8629 = x8628
+x8628 = x8627
+x8627 = x8626
+x8626 = x8625
+x8625 = x8624
+x8624 = x8623
+x8623 = x8622
+x8622 = x8621
+x8621 = x8620
+x8620 = x8619
+x8619 = x8618
+x8618 = x8617
+x8617 = x8616
+x8616 = x8615
+x8615 = x8614
+x8614 = x8613
+x8613 = x8612
+x8612 = x8611
+x8611 = x8610
+x8610 = x8609
+x8609 = x8608
+x8608 = x8607
+x8607 = x8606
+x8606 = x8605
+x8605 = x8604
+x8604 = x8603
+x8603 = x8602
+x8602 = x8601
+x8601 = x8600
+x8600 = x8599
+x8599 = x8598
+x8598 = x8597
+x8597 = x8596
+x8596 = x8595
+x8595 = x8594
+x8594 = x8593
+x8593 = x8592
+x8592 = x8591
+x8591 = x8590
+x8590 = x8589
+x8589 = x8588
+x8588 = x8587
+x8587 = x8586
+x8586 = x8585
+x8585 = x8584
+x8584 = x8583
+x8583 = x8582
+x8582 = x8581
+x8581 = x8580
+x8580 = x8579
+x8579 = x8578
+x8578 = x8577
+x8577 = x8576
+x8576 = x8575
+x8575 = x8574
+x8574 = x8573
+x8573 = x8572
+x8572 = x8571
+x8571 = x8570
+x8570 = x8569
+x8569 = x8568
+x8568 = x8567
+x8567 = x8566
+x8566 = x8565
+x8565 = x8564
+x8564 = x8563
+x8563 = x8562
+x8562 = x8561
+x8561 = x8560
+x8560 = x8559
+x8559 = x8558
+x8558 = x8557
+x8557 = x8556
+x8556 = x8555
+x8555 = x8554
+x8554 = x8553
+x8553 = x8552
+x8552 = x8551
+x8551 = x8550
+x8550 = x8549
+x8549 = x8548
+x8548 = x8547
+x8547 = x8546
+x8546 = x8545
+x8545 = x8544
+x8544 = x8543
+x8543 = x8542
+x8542 = x8541
+x8541 = x8540
+x8540 = x8539
+x8539 = x8538
+x8538 = x8537
+x8537 = x8536
+x8536 = x8535
+x8535 = x8534
+x8534 = x8533
+x8533 = x8532
+x8532 = x8531
+x8531 = x8530
+x8530 = x8529
+x8529 = x8528
+x8528 = x8527
+x8527 = x8526
+x8526 = x8525
+x8525 = x8524
+x8524 = x8523
+x8523 = x8522
+x8522 = x8521
+x8521 = x8520
+x8520 = x8519
+x8519 = x8518
+x8518 = x8517
+x8517 = x8516
+x8516 = x8515
+x8515 = x8514
+x8514 = x8513
+x8513 = x8512
+x8512 = x8511
+x8511 = x8510
+x8510 = x8509
+x8509 = x8508
+x8508 = x8507
+x8507 = x8506
+x8506 = x8505
+x8505 = x8504
+x8504 = x8503
+x8503 = x8502
+x8502 = x8501
+x8501 = x8500
+x8500 = x8499
+x8499 = x8498
+x8498 = x8497
+x8497 = x8496
+x8496 = x8495
+x8495 = x8494
+x8494 = x8493
+x8493 = x8492
+x8492 = x8491
+x8491 = x8490
+x8490 = x8489
+x8489 = x8488
+x8488 = x8487
+x8487 = x8486
+x8486 = x8485
+x8485 = x8484
+x8484 = x8483
+x8483 = x8482
+x8482 = x8481
+x8481 = x8480
+x8480 = x8479
+x8479 = x8478
+x8478 = x8477
+x8477 = x8476
+x8476 = x8475
+x8475 = x8474
+x8474 = x8473
+x8473 = x8472
+x8472 = x8471
+x8471 = x8470
+x8470 = x8469
+x8469 = x8468
+x8468 = x8467
+x8467 = x8466
+x8466 = x8465
+x8465 = x8464
+x8464 = x8463
+x8463 = x8462
+x8462 = x8461
+x8461 = x8460
+x8460 = x8459
+x8459 = x8458
+x8458 = x8457
+x8457 = x8456
+x8456 = x8455
+x8455 = x8454
+x8454 = x8453
+x8453 = x8452
+x8452 = x8451
+x8451 = x8450
+x8450 = x8449
+x8449 = x8448
+x8448 = x8447
+x8447 = x8446
+x8446 = x8445
+x8445 = x8444
+x8444 = x8443
+x8443 = x8442
+x8442 = x8441
+x8441 = x8440
+x8440 = x8439
+x8439 = x8438
+x8438 = x8437
+x8437 = x8436
+x8436 = x8435
+x8435 = x8434
+x8434 = x8433
+x8433 = x8432
+x8432 = x8431
+x8431 = x8430
+x8430 = x8429
+x8429 = x8428
+x8428 = x8427
+x8427 = x8426
+x8426 = x8425
+x8425 = x8424
+x8424 = x8423
+x8423 = x8422
+x8422 = x8421
+x8421 = x8420
+x8420 = x8419
+x8419 = x8418
+x8418 = x8417
+x8417 = x8416
+x8416 = x8415
+x8415 = x8414
+x8414 = x8413
+x8413 = x8412
+x8412 = x8411
+x8411 = x8410
+x8410 = x8409
+x8409 = x8408
+x8408 = x8407
+x8407 = x8406
+x8406 = x8405
+x8405 = x8404
+x8404 = x8403
+x8403 = x8402
+x8402 = x8401
+x8401 = x8400
+x8400 = x8399
+x8399 = x8398
+x8398 = x8397
+x8397 = x8396
+x8396 = x8395
+x8395 = x8394
+x8394 = x8393
+x8393 = x8392
+x8392 = x8391
+x8391 = x8390
+x8390 = x8389
+x8389 = x8388
+x8388 = x8387
+x8387 = x8386
+x8386 = x8385
+x8385 = x8384
+x8384 = x8383
+x8383 = x8382
+x8382 = x8381
+x8381 = x8380
+x8380 = x8379
+x8379 = x8378
+x8378 = x8377
+x8377 = x8376
+x8376 = x8375
+x8375 = x8374
+x8374 = x8373
+x8373 = x8372
+x8372 = x8371
+x8371 = x8370
+x8370 = x8369
+x8369 = x8368
+x8368 = x8367
+x8367 = x8366
+x8366 = x8365
+x8365 = x8364
+x8364 = x8363
+x8363 = x8362
+x8362 = x8361
+x8361 = x8360
+x8360 = x8359
+x8359 = x8358
+x8358 = x8357
+x8357 = x8356
+x8356 = x8355
+x8355 = x8354
+x8354 = x8353
+x8353 = x8352
+x8352 = x8351
+x8351 = x8350
+x8350 = x8349
+x8349 = x8348
+x8348 = x8347
+x8347 = x8346
+x8346 = x8345
+x8345 = x8344
+x8344 = x8343
+x8343 = x8342
+x8342 = x8341
+x8341 = x8340
+x8340 = x8339
+x8339 = x8338
+x8338 = x8337
+x8337 = x8336
+x8336 = x8335
+x8335 = x8334
+x8334 = x8333
+x8333 = x8332
+x8332 = x8331
+x8331 = x8330
+x8330 = x8329
+x8329 = x8328
+x8328 = x8327
+x8327 = x8326
+x8326 = x8325
+x8325 = x8324
+x8324 = x8323
+x8323 = x8322
+x8322 = x8321
+x8321 = x8320
+x8320 = x8319
+x8319 = x8318
+x8318 = x8317
+x8317 = x8316
+x8316 = x8315
+x8315 = x8314
+x8314 = x8313
+x8313 = x8312
+x8312 = x8311
+x8311 = x8310
+x8310 = x8309
+x8309 = x8308
+x8308 = x8307
+x8307 = x8306
+x8306 = x8305
+x8305 = x8304
+x8304 = x8303
+x8303 = x8302
+x8302 = x8301
+x8301 = x8300
+x8300 = x8299
+x8299 = x8298
+x8298 = x8297
+x8297 = x8296
+x8296 = x8295
+x8295 = x8294
+x8294 = x8293
+x8293 = x8292
+x8292 = x8291
+x8291 = x8290
+x8290 = x8289
+x8289 = x8288
+x8288 = x8287
+x8287 = x8286
+x8286 = x8285
+x8285 = x8284
+x8284 = x8283
+x8283 = x8282
+x8282 = x8281
+x8281 = x8280
+x8280 = x8279
+x8279 = x8278
+x8278 = x8277
+x8277 = x8276
+x8276 = x8275
+x8275 = x8274
+x8274 = x8273
+x8273 = x8272
+x8272 = x8271
+x8271 = x8270
+x8270 = x8269
+x8269 = x8268
+x8268 = x8267
+x8267 = x8266
+x8266 = x8265
+x8265 = x8264
+x8264 = x8263
+x8263 = x8262
+x8262 = x8261
+x8261 = x8260
+x8260 = x8259
+x8259 = x8258
+x8258 = x8257
+x8257 = x8256
+x8256 = x8255
+x8255 = x8254
+x8254 = x8253
+x8253 = x8252
+x8252 = x8251
+x8251 = x8250
+x8250 = x8249
+x8249 = x8248
+x8248 = x8247
+x8247 = x8246
+x8246 = x8245
+x8245 = x8244
+x8244 = x8243
+x8243 = x8242
+x8242 = x8241
+x8241 = x8240
+x8240 = x8239
+x8239 = x8238
+x8238 = x8237
+x8237 = x8236
+x8236 = x8235
+x8235 = x8234
+x8234 = x8233
+x8233 = x8232
+x8232 = x8231
+x8231 = x8230
+x8230 = x8229
+x8229 = x8228
+x8228 = x8227
+x8227 = x8226
+x8226 = x8225
+x8225 = x8224
+x8224 = x8223
+x8223 = x8222
+x8222 = x8221
+x8221 = x8220
+x8220 = x8219
+x8219 = x8218
+x8218 = x8217
+x8217 = x8216
+x8216 = x8215
+x8215 = x8214
+x8214 = x8213
+x8213 = x8212
+x8212 = x8211
+x8211 = x8210
+x8210 = x8209
+x8209 = x8208
+x8208 = x8207
+x8207 = x8206
+x8206 = x8205
+x8205 = x8204
+x8204 = x8203
+x8203 = x8202
+x8202 = x8201
+x8201 = x8200
+x8200 = x8199
+x8199 = x8198
+x8198 = x8197
+x8197 = x8196
+x8196 = x8195
+x8195 = x8194
+x8194 = x8193
+x8193 = x8192
+x8192 = x8191
+x8191 = x8190
+x8190 = x8189
+x8189 = x8188
+x8188 = x8187
+x8187 = x8186
+x8186 = x8185
+x8185 = x8184
+x8184 = x8183
+x8183 = x8182
+x8182 = x8181
+x8181 = x8180
+x8180 = x8179
+x8179 = x8178
+x8178 = x8177
+x8177 = x8176
+x8176 = x8175
+x8175 = x8174
+x8174 = x8173
+x8173 = x8172
+x8172 = x8171
+x8171 = x8170
+x8170 = x8169
+x8169 = x8168
+x8168 = x8167
+x8167 = x8166
+x8166 = x8165
+x8165 = x8164
+x8164 = x8163
+x8163 = x8162
+x8162 = x8161
+x8161 = x8160
+x8160 = x8159
+x8159 = x8158
+x8158 = x8157
+x8157 = x8156
+x8156 = x8155
+x8155 = x8154
+x8154 = x8153
+x8153 = x8152
+x8152 = x8151
+x8151 = x8150
+x8150 = x8149
+x8149 = x8148
+x8148 = x8147
+x8147 = x8146
+x8146 = x8145
+x8145 = x8144
+x8144 = x8143
+x8143 = x8142
+x8142 = x8141
+x8141 = x8140
+x8140 = x8139
+x8139 = x8138
+x8138 = x8137
+x8137 = x8136
+x8136 = x8135
+x8135 = x8134
+x8134 = x8133
+x8133 = x8132
+x8132 = x8131
+x8131 = x8130
+x8130 = x8129
+x8129 = x8128
+x8128 = x8127
+x8127 = x8126
+x8126 = x8125
+x8125 = x8124
+x8124 = x8123
+x8123 = x8122
+x8122 = x8121
+x8121 = x8120
+x8120 = x8119
+x8119 = x8118
+x8118 = x8117
+x8117 = x8116
+x8116 = x8115
+x8115 = x8114
+x8114 = x8113
+x8113 = x8112
+x8112 = x8111
+x8111 = x8110
+x8110 = x8109
+x8109 = x8108
+x8108 = x8107
+x8107 = x8106
+x8106 = x8105
+x8105 = x8104
+x8104 = x8103
+x8103 = x8102
+x8102 = x8101
+x8101 = x8100
+x8100 = x8099
+x8099 = x8098
+x8098 = x8097
+x8097 = x8096
+x8096 = x8095
+x8095 = x8094
+x8094 = x8093
+x8093 = x8092
+x8092 = x8091
+x8091 = x8090
+x8090 = x8089
+x8089 = x8088
+x8088 = x8087
+x8087 = x8086
+x8086 = x8085
+x8085 = x8084
+x8084 = x8083
+x8083 = x8082
+x8082 = x8081
+x8081 = x8080
+x8080 = x8079
+x8079 = x8078
+x8078 = x8077
+x8077 = x8076
+x8076 = x8075
+x8075 = x8074
+x8074 = x8073
+x8073 = x8072
+x8072 = x8071
+x8071 = x8070
+x8070 = x8069
+x8069 = x8068
+x8068 = x8067
+x8067 = x8066
+x8066 = x8065
+x8065 = x8064
+x8064 = x8063
+x8063 = x8062
+x8062 = x8061
+x8061 = x8060
+x8060 = x8059
+x8059 = x8058
+x8058 = x8057
+x8057 = x8056
+x8056 = x8055
+x8055 = x8054
+x8054 = x8053
+x8053 = x8052
+x8052 = x8051
+x8051 = x8050
+x8050 = x8049
+x8049 = x8048
+x8048 = x8047
+x8047 = x8046
+x8046 = x8045
+x8045 = x8044
+x8044 = x8043
+x8043 = x8042
+x8042 = x8041
+x8041 = x8040
+x8040 = x8039
+x8039 = x8038
+x8038 = x8037
+x8037 = x8036
+x8036 = x8035
+x8035 = x8034
+x8034 = x8033
+x8033 = x8032
+x8032 = x8031
+x8031 = x8030
+x8030 = x8029
+x8029 = x8028
+x8028 = x8027
+x8027 = x8026
+x8026 = x8025
+x8025 = x8024
+x8024 = x8023
+x8023 = x8022
+x8022 = x8021
+x8021 = x8020
+x8020 = x8019
+x8019 = x8018
+x8018 = x8017
+x8017 = x8016
+x8016 = x8015
+x8015 = x8014
+x8014 = x8013
+x8013 = x8012
+x8012 = x8011
+x8011 = x8010
+x8010 = x8009
+x8009 = x8008
+x8008 = x8007
+x8007 = x8006
+x8006 = x8005
+x8005 = x8004
+x8004 = x8003
+x8003 = x8002
+x8002 = x8001
+x8001 = x8000
+x8000 = x7999
+x7999 = x7998
+x7998 = x7997
+x7997 = x7996
+x7996 = x7995
+x7995 = x7994
+x7994 = x7993
+x7993 = x7992
+x7992 = x7991
+x7991 = x7990
+x7990 = x7989
+x7989 = x7988
+x7988 = x7987
+x7987 = x7986
+x7986 = x7985
+x7985 = x7984
+x7984 = x7983
+x7983 = x7982
+x7982 = x7981
+x7981 = x7980
+x7980 = x7979
+x7979 = x7978
+x7978 = x7977
+x7977 = x7976
+x7976 = x7975
+x7975 = x7974
+x7974 = x7973
+x7973 = x7972
+x7972 = x7971
+x7971 = x7970
+x7970 = x7969
+x7969 = x7968
+x7968 = x7967
+x7967 = x7966
+x7966 = x7965
+x7965 = x7964
+x7964 = x7963
+x7963 = x7962
+x7962 = x7961
+x7961 = x7960
+x7960 = x7959
+x7959 = x7958
+x7958 = x7957
+x7957 = x7956
+x7956 = x7955
+x7955 = x7954
+x7954 = x7953
+x7953 = x7952
+x7952 = x7951
+x7951 = x7950
+x7950 = x7949
+x7949 = x7948
+x7948 = x7947
+x7947 = x7946
+x7946 = x7945
+x7945 = x7944
+x7944 = x7943
+x7943 = x7942
+x7942 = x7941
+x7941 = x7940
+x7940 = x7939
+x7939 = x7938
+x7938 = x7937
+x7937 = x7936
+x7936 = x7935
+x7935 = x7934
+x7934 = x7933
+x7933 = x7932
+x7932 = x7931
+x7931 = x7930
+x7930 = x7929
+x7929 = x7928
+x7928 = x7927
+x7927 = x7926
+x7926 = x7925
+x7925 = x7924
+x7924 = x7923
+x7923 = x7922
+x7922 = x7921
+x7921 = x7920
+x7920 = x7919
+x7919 = x7918
+x7918 = x7917
+x7917 = x7916
+x7916 = x7915
+x7915 = x7914
+x7914 = x7913
+x7913 = x7912
+x7912 = x7911
+x7911 = x7910
+x7910 = x7909
+x7909 = x7908
+x7908 = x7907
+x7907 = x7906
+x7906 = x7905
+x7905 = x7904
+x7904 = x7903
+x7903 = x7902
+x7902 = x7901
+x7901 = x7900
+x7900 = x7899
+x7899 = x7898
+x7898 = x7897
+x7897 = x7896
+x7896 = x7895
+x7895 = x7894
+x7894 = x7893
+x7893 = x7892
+x7892 = x7891
+x7891 = x7890
+x7890 = x7889
+x7889 = x7888
+x7888 = x7887
+x7887 = x7886
+x7886 = x7885
+x7885 = x7884
+x7884 = x7883
+x7883 = x7882
+x7882 = x7881
+x7881 = x7880
+x7880 = x7879
+x7879 = x7878
+x7878 = x7877
+x7877 = x7876
+x7876 = x7875
+x7875 = x7874
+x7874 = x7873
+x7873 = x7872
+x7872 = x7871
+x7871 = x7870
+x7870 = x7869
+x7869 = x7868
+x7868 = x7867
+x7867 = x7866
+x7866 = x7865
+x7865 = x7864
+x7864 = x7863
+x7863 = x7862
+x7862 = x7861
+x7861 = x7860
+x7860 = x7859
+x7859 = x7858
+x7858 = x7857
+x7857 = x7856
+x7856 = x7855
+x7855 = x7854
+x7854 = x7853
+x7853 = x7852
+x7852 = x7851
+x7851 = x7850
+x7850 = x7849
+x7849 = x7848
+x7848 = x7847
+x7847 = x7846
+x7846 = x7845
+x7845 = x7844
+x7844 = x7843
+x7843 = x7842
+x7842 = x7841
+x7841 = x7840
+x7840 = x7839
+x7839 = x7838
+x7838 = x7837
+x7837 = x7836
+x7836 = x7835
+x7835 = x7834
+x7834 = x7833
+x7833 = x7832
+x7832 = x7831
+x7831 = x7830
+x7830 = x7829
+x7829 = x7828
+x7828 = x7827
+x7827 = x7826
+x7826 = x7825
+x7825 = x7824
+x7824 = x7823
+x7823 = x7822
+x7822 = x7821
+x7821 = x7820
+x7820 = x7819
+x7819 = x7818
+x7818 = x7817
+x7817 = x7816
+x7816 = x7815
+x7815 = x7814
+x7814 = x7813
+x7813 = x7812
+x7812 = x7811
+x7811 = x7810
+x7810 = x7809
+x7809 = x7808
+x7808 = x7807
+x7807 = x7806
+x7806 = x7805
+x7805 = x7804
+x7804 = x7803
+x7803 = x7802
+x7802 = x7801
+x7801 = x7800
+x7800 = x7799
+x7799 = x7798
+x7798 = x7797
+x7797 = x7796
+x7796 = x7795
+x7795 = x7794
+x7794 = x7793
+x7793 = x7792
+x7792 = x7791
+x7791 = x7790
+x7790 = x7789
+x7789 = x7788
+x7788 = x7787
+x7787 = x7786
+x7786 = x7785
+x7785 = x7784
+x7784 = x7783
+x7783 = x7782
+x7782 = x7781
+x7781 = x7780
+x7780 = x7779
+x7779 = x7778
+x7778 = x7777
+x7777 = x7776
+x7776 = x7775
+x7775 = x7774
+x7774 = x7773
+x7773 = x7772
+x7772 = x7771
+x7771 = x7770
+x7770 = x7769
+x7769 = x7768
+x7768 = x7767
+x7767 = x7766
+x7766 = x7765
+x7765 = x7764
+x7764 = x7763
+x7763 = x7762
+x7762 = x7761
+x7761 = x7760
+x7760 = x7759
+x7759 = x7758
+x7758 = x7757
+x7757 = x7756
+x7756 = x7755
+x7755 = x7754
+x7754 = x7753
+x7753 = x7752
+x7752 = x7751
+x7751 = x7750
+x7750 = x7749
+x7749 = x7748
+x7748 = x7747
+x7747 = x7746
+x7746 = x7745
+x7745 = x7744
+x7744 = x7743
+x7743 = x7742
+x7742 = x7741
+x7741 = x7740
+x7740 = x7739
+x7739 = x7738
+x7738 = x7737
+x7737 = x7736
+x7736 = x7735
+x7735 = x7734
+x7734 = x7733
+x7733 = x7732
+x7732 = x7731
+x7731 = x7730
+x7730 = x7729
+x7729 = x7728
+x7728 = x7727
+x7727 = x7726
+x7726 = x7725
+x7725 = x7724
+x7724 = x7723
+x7723 = x7722
+x7722 = x7721
+x7721 = x7720
+x7720 = x7719
+x7719 = x7718
+x7718 = x7717
+x7717 = x7716
+x7716 = x7715
+x7715 = x7714
+x7714 = x7713
+x7713 = x7712
+x7712 = x7711
+x7711 = x7710
+x7710 = x7709
+x7709 = x7708
+x7708 = x7707
+x7707 = x7706
+x7706 = x7705
+x7705 = x7704
+x7704 = x7703
+x7703 = x7702
+x7702 = x7701
+x7701 = x7700
+x7700 = x7699
+x7699 = x7698
+x7698 = x7697
+x7697 = x7696
+x7696 = x7695
+x7695 = x7694
+x7694 = x7693
+x7693 = x7692
+x7692 = x7691
+x7691 = x7690
+x7690 = x7689
+x7689 = x7688
+x7688 = x7687
+x7687 = x7686
+x7686 = x7685
+x7685 = x7684
+x7684 = x7683
+x7683 = x7682
+x7682 = x7681
+x7681 = x7680
+x7680 = x7679
+x7679 = x7678
+x7678 = x7677
+x7677 = x7676
+x7676 = x7675
+x7675 = x7674
+x7674 = x7673
+x7673 = x7672
+x7672 = x7671
+x7671 = x7670
+x7670 = x7669
+x7669 = x7668
+x7668 = x7667
+x7667 = x7666
+x7666 = x7665
+x7665 = x7664
+x7664 = x7663
+x7663 = x7662
+x7662 = x7661
+x7661 = x7660
+x7660 = x7659
+x7659 = x7658
+x7658 = x7657
+x7657 = x7656
+x7656 = x7655
+x7655 = x7654
+x7654 = x7653
+x7653 = x7652
+x7652 = x7651
+x7651 = x7650
+x7650 = x7649
+x7649 = x7648
+x7648 = x7647
+x7647 = x7646
+x7646 = x7645
+x7645 = x7644
+x7644 = x7643
+x7643 = x7642
+x7642 = x7641
+x7641 = x7640
+x7640 = x7639
+x7639 = x7638
+x7638 = x7637
+x7637 = x7636
+x7636 = x7635
+x7635 = x7634
+x7634 = x7633
+x7633 = x7632
+x7632 = x7631
+x7631 = x7630
+x7630 = x7629
+x7629 = x7628
+x7628 = x7627
+x7627 = x7626
+x7626 = x7625
+x7625 = x7624
+x7624 = x7623
+x7623 = x7622
+x7622 = x7621
+x7621 = x7620
+x7620 = x7619
+x7619 = x7618
+x7618 = x7617
+x7617 = x7616
+x7616 = x7615
+x7615 = x7614
+x7614 = x7613
+x7613 = x7612
+x7612 = x7611
+x7611 = x7610
+x7610 = x7609
+x7609 = x7608
+x7608 = x7607
+x7607 = x7606
+x7606 = x7605
+x7605 = x7604
+x7604 = x7603
+x7603 = x7602
+x7602 = x7601
+x7601 = x7600
+x7600 = x7599
+x7599 = x7598
+x7598 = x7597
+x7597 = x7596
+x7596 = x7595
+x7595 = x7594
+x7594 = x7593
+x7593 = x7592
+x7592 = x7591
+x7591 = x7590
+x7590 = x7589
+x7589 = x7588
+x7588 = x7587
+x7587 = x7586
+x7586 = x7585
+x7585 = x7584
+x7584 = x7583
+x7583 = x7582
+x7582 = x7581
+x7581 = x7580
+x7580 = x7579
+x7579 = x7578
+x7578 = x7577
+x7577 = x7576
+x7576 = x7575
+x7575 = x7574
+x7574 = x7573
+x7573 = x7572
+x7572 = x7571
+x7571 = x7570
+x7570 = x7569
+x7569 = x7568
+x7568 = x7567
+x7567 = x7566
+x7566 = x7565
+x7565 = x7564
+x7564 = x7563
+x7563 = x7562
+x7562 = x7561
+x7561 = x7560
+x7560 = x7559
+x7559 = x7558
+x7558 = x7557
+x7557 = x7556
+x7556 = x7555
+x7555 = x7554
+x7554 = x7553
+x7553 = x7552
+x7552 = x7551
+x7551 = x7550
+x7550 = x7549
+x7549 = x7548
+x7548 = x7547
+x7547 = x7546
+x7546 = x7545
+x7545 = x7544
+x7544 = x7543
+x7543 = x7542
+x7542 = x7541
+x7541 = x7540
+x7540 = x7539
+x7539 = x7538
+x7538 = x7537
+x7537 = x7536
+x7536 = x7535
+x7535 = x7534
+x7534 = x7533
+x7533 = x7532
+x7532 = x7531
+x7531 = x7530
+x7530 = x7529
+x7529 = x7528
+x7528 = x7527
+x7527 = x7526
+x7526 = x7525
+x7525 = x7524
+x7524 = x7523
+x7523 = x7522
+x7522 = x7521
+x7521 = x7520
+x7520 = x7519
+x7519 = x7518
+x7518 = x7517
+x7517 = x7516
+x7516 = x7515
+x7515 = x7514
+x7514 = x7513
+x7513 = x7512
+x7512 = x7511
+x7511 = x7510
+x7510 = x7509
+x7509 = x7508
+x7508 = x7507
+x7507 = x7506
+x7506 = x7505
+x7505 = x7504
+x7504 = x7503
+x7503 = x7502
+x7502 = x7501
+x7501 = x7500
+x7500 = x7499
+x7499 = x7498
+x7498 = x7497
+x7497 = x7496
+x7496 = x7495
+x7495 = x7494
+x7494 = x7493
+x7493 = x7492
+x7492 = x7491
+x7491 = x7490
+x7490 = x7489
+x7489 = x7488
+x7488 = x7487
+x7487 = x7486
+x7486 = x7485
+x7485 = x7484
+x7484 = x7483
+x7483 = x7482
+x7482 = x7481
+x7481 = x7480
+x7480 = x7479
+x7479 = x7478
+x7478 = x7477
+x7477 = x7476
+x7476 = x7475
+x7475 = x7474
+x7474 = x7473
+x7473 = x7472
+x7472 = x7471
+x7471 = x7470
+x7470 = x7469
+x7469 = x7468
+x7468 = x7467
+x7467 = x7466
+x7466 = x7465
+x7465 = x7464
+x7464 = x7463
+x7463 = x7462
+x7462 = x7461
+x7461 = x7460
+x7460 = x7459
+x7459 = x7458
+x7458 = x7457
+x7457 = x7456
+x7456 = x7455
+x7455 = x7454
+x7454 = x7453
+x7453 = x7452
+x7452 = x7451
+x7451 = x7450
+x7450 = x7449
+x7449 = x7448
+x7448 = x7447
+x7447 = x7446
+x7446 = x7445
+x7445 = x7444
+x7444 = x7443
+x7443 = x7442
+x7442 = x7441
+x7441 = x7440
+x7440 = x7439
+x7439 = x7438
+x7438 = x7437
+x7437 = x7436
+x7436 = x7435
+x7435 = x7434
+x7434 = x7433
+x7433 = x7432
+x7432 = x7431
+x7431 = x7430
+x7430 = x7429
+x7429 = x7428
+x7428 = x7427
+x7427 = x7426
+x7426 = x7425
+x7425 = x7424
+x7424 = x7423
+x7423 = x7422
+x7422 = x7421
+x7421 = x7420
+x7420 = x7419
+x7419 = x7418
+x7418 = x7417
+x7417 = x7416
+x7416 = x7415
+x7415 = x7414
+x7414 = x7413
+x7413 = x7412
+x7412 = x7411
+x7411 = x7410
+x7410 = x7409
+x7409 = x7408
+x7408 = x7407
+x7407 = x7406
+x7406 = x7405
+x7405 = x7404
+x7404 = x7403
+x7403 = x7402
+x7402 = x7401
+x7401 = x7400
+x7400 = x7399
+x7399 = x7398
+x7398 = x7397
+x7397 = x7396
+x7396 = x7395
+x7395 = x7394
+x7394 = x7393
+x7393 = x7392
+x7392 = x7391
+x7391 = x7390
+x7390 = x7389
+x7389 = x7388
+x7388 = x7387
+x7387 = x7386
+x7386 = x7385
+x7385 = x7384
+x7384 = x7383
+x7383 = x7382
+x7382 = x7381
+x7381 = x7380
+x7380 = x7379
+x7379 = x7378
+x7378 = x7377
+x7377 = x7376
+x7376 = x7375
+x7375 = x7374
+x7374 = x7373
+x7373 = x7372
+x7372 = x7371
+x7371 = x7370
+x7370 = x7369
+x7369 = x7368
+x7368 = x7367
+x7367 = x7366
+x7366 = x7365
+x7365 = x7364
+x7364 = x7363
+x7363 = x7362
+x7362 = x7361
+x7361 = x7360
+x7360 = x7359
+x7359 = x7358
+x7358 = x7357
+x7357 = x7356
+x7356 = x7355
+x7355 = x7354
+x7354 = x7353
+x7353 = x7352
+x7352 = x7351
+x7351 = x7350
+x7350 = x7349
+x7349 = x7348
+x7348 = x7347
+x7347 = x7346
+x7346 = x7345
+x7345 = x7344
+x7344 = x7343
+x7343 = x7342
+x7342 = x7341
+x7341 = x7340
+x7340 = x7339
+x7339 = x7338
+x7338 = x7337
+x7337 = x7336
+x7336 = x7335
+x7335 = x7334
+x7334 = x7333
+x7333 = x7332
+x7332 = x7331
+x7331 = x7330
+x7330 = x7329
+x7329 = x7328
+x7328 = x7327
+x7327 = x7326
+x7326 = x7325
+x7325 = x7324
+x7324 = x7323
+x7323 = x7322
+x7322 = x7321
+x7321 = x7320
+x7320 = x7319
+x7319 = x7318
+x7318 = x7317
+x7317 = x7316
+x7316 = x7315
+x7315 = x7314
+x7314 = x7313
+x7313 = x7312
+x7312 = x7311
+x7311 = x7310
+x7310 = x7309
+x7309 = x7308
+x7308 = x7307
+x7307 = x7306
+x7306 = x7305
+x7305 = x7304
+x7304 = x7303
+x7303 = x7302
+x7302 = x7301
+x7301 = x7300
+x7300 = x7299
+x7299 = x7298
+x7298 = x7297
+x7297 = x7296
+x7296 = x7295
+x7295 = x7294
+x7294 = x7293
+x7293 = x7292
+x7292 = x7291
+x7291 = x7290
+x7290 = x7289
+x7289 = x7288
+x7288 = x7287
+x7287 = x7286
+x7286 = x7285
+x7285 = x7284
+x7284 = x7283
+x7283 = x7282
+x7282 = x7281
+x7281 = x7280
+x7280 = x7279
+x7279 = x7278
+x7278 = x7277
+x7277 = x7276
+x7276 = x7275
+x7275 = x7274
+x7274 = x7273
+x7273 = x7272
+x7272 = x7271
+x7271 = x7270
+x7270 = x7269
+x7269 = x7268
+x7268 = x7267
+x7267 = x7266
+x7266 = x7265
+x7265 = x7264
+x7264 = x7263
+x7263 = x7262
+x7262 = x7261
+x7261 = x7260
+x7260 = x7259
+x7259 = x7258
+x7258 = x7257
+x7257 = x7256
+x7256 = x7255
+x7255 = x7254
+x7254 = x7253
+x7253 = x7252
+x7252 = x7251
+x7251 = x7250
+x7250 = x7249
+x7249 = x7248
+x7248 = x7247
+x7247 = x7246
+x7246 = x7245
+x7245 = x7244
+x7244 = x7243
+x7243 = x7242
+x7242 = x7241
+x7241 = x7240
+x7240 = x7239
+x7239 = x7238
+x7238 = x7237
+x7237 = x7236
+x7236 = x7235
+x7235 = x7234
+x7234 = x7233
+x7233 = x7232
+x7232 = x7231
+x7231 = x7230
+x7230 = x7229
+x7229 = x7228
+x7228 = x7227
+x7227 = x7226
+x7226 = x7225
+x7225 = x7224
+x7224 = x7223
+x7223 = x7222
+x7222 = x7221
+x7221 = x7220
+x7220 = x7219
+x7219 = x7218
+x7218 = x7217
+x7217 = x7216
+x7216 = x7215
+x7215 = x7214
+x7214 = x7213
+x7213 = x7212
+x7212 = x7211
+x7211 = x7210
+x7210 = x7209
+x7209 = x7208
+x7208 = x7207
+x7207 = x7206
+x7206 = x7205
+x7205 = x7204
+x7204 = x7203
+x7203 = x7202
+x7202 = x7201
+x7201 = x7200
+x7200 = x7199
+x7199 = x7198
+x7198 = x7197
+x7197 = x7196
+x7196 = x7195
+x7195 = x7194
+x7194 = x7193
+x7193 = x7192
+x7192 = x7191
+x7191 = x7190
+x7190 = x7189
+x7189 = x7188
+x7188 = x7187
+x7187 = x7186
+x7186 = x7185
+x7185 = x7184
+x7184 = x7183
+x7183 = x7182
+x7182 = x7181
+x7181 = x7180
+x7180 = x7179
+x7179 = x7178
+x7178 = x7177
+x7177 = x7176
+x7176 = x7175
+x7175 = x7174
+x7174 = x7173
+x7173 = x7172
+x7172 = x7171
+x7171 = x7170
+x7170 = x7169
+x7169 = x7168
+x7168 = x7167
+x7167 = x7166
+x7166 = x7165
+x7165 = x7164
+x7164 = x7163
+x7163 = x7162
+x7162 = x7161
+x7161 = x7160
+x7160 = x7159
+x7159 = x7158
+x7158 = x7157
+x7157 = x7156
+x7156 = x7155
+x7155 = x7154
+x7154 = x7153
+x7153 = x7152
+x7152 = x7151
+x7151 = x7150
+x7150 = x7149
+x7149 = x7148
+x7148 = x7147
+x7147 = x7146
+x7146 = x7145
+x7145 = x7144
+x7144 = x7143
+x7143 = x7142
+x7142 = x7141
+x7141 = x7140
+x7140 = x7139
+x7139 = x7138
+x7138 = x7137
+x7137 = x7136
+x7136 = x7135
+x7135 = x7134
+x7134 = x7133
+x7133 = x7132
+x7132 = x7131
+x7131 = x7130
+x7130 = x7129
+x7129 = x7128
+x7128 = x7127
+x7127 = x7126
+x7126 = x7125
+x7125 = x7124
+x7124 = x7123
+x7123 = x7122
+x7122 = x7121
+x7121 = x7120
+x7120 = x7119
+x7119 = x7118
+x7118 = x7117
+x7117 = x7116
+x7116 = x7115
+x7115 = x7114
+x7114 = x7113
+x7113 = x7112
+x7112 = x7111
+x7111 = x7110
+x7110 = x7109
+x7109 = x7108
+x7108 = x7107
+x7107 = x7106
+x7106 = x7105
+x7105 = x7104
+x7104 = x7103
+x7103 = x7102
+x7102 = x7101
+x7101 = x7100
+x7100 = x7099
+x7099 = x7098
+x7098 = x7097
+x7097 = x7096
+x7096 = x7095
+x7095 = x7094
+x7094 = x7093
+x7093 = x7092
+x7092 = x7091
+x7091 = x7090
+x7090 = x7089
+x7089 = x7088
+x7088 = x7087
+x7087 = x7086
+x7086 = x7085
+x7085 = x7084
+x7084 = x7083
+x7083 = x7082
+x7082 = x7081
+x7081 = x7080
+x7080 = x7079
+x7079 = x7078
+x7078 = x7077
+x7077 = x7076
+x7076 = x7075
+x7075 = x7074
+x7074 = x7073
+x7073 = x7072
+x7072 = x7071
+x7071 = x7070
+x7070 = x7069
+x7069 = x7068
+x7068 = x7067
+x7067 = x7066
+x7066 = x7065
+x7065 = x7064
+x7064 = x7063
+x7063 = x7062
+x7062 = x7061
+x7061 = x7060
+x7060 = x7059
+x7059 = x7058
+x7058 = x7057
+x7057 = x7056
+x7056 = x7055
+x7055 = x7054
+x7054 = x7053
+x7053 = x7052
+x7052 = x7051
+x7051 = x7050
+x7050 = x7049
+x7049 = x7048
+x7048 = x7047
+x7047 = x7046
+x7046 = x7045
+x7045 = x7044
+x7044 = x7043
+x7043 = x7042
+x7042 = x7041
+x7041 = x7040
+x7040 = x7039
+x7039 = x7038
+x7038 = x7037
+x7037 = x7036
+x7036 = x7035
+x7035 = x7034
+x7034 = x7033
+x7033 = x7032
+x7032 = x7031
+x7031 = x7030
+x7030 = x7029
+x7029 = x7028
+x7028 = x7027
+x7027 = x7026
+x7026 = x7025
+x7025 = x7024
+x7024 = x7023
+x7023 = x7022
+x7022 = x7021
+x7021 = x7020
+x7020 = x7019
+x7019 = x7018
+x7018 = x7017
+x7017 = x7016
+x7016 = x7015
+x7015 = x7014
+x7014 = x7013
+x7013 = x7012
+x7012 = x7011
+x7011 = x7010
+x7010 = x7009
+x7009 = x7008
+x7008 = x7007
+x7007 = x7006
+x7006 = x7005
+x7005 = x7004
+x7004 = x7003
+x7003 = x7002
+x7002 = x7001
+x7001 = x7000
+x7000 = x6999
+x6999 = x6998
+x6998 = x6997
+x6997 = x6996
+x6996 = x6995
+x6995 = x6994
+x6994 = x6993
+x6993 = x6992
+x6992 = x6991
+x6991 = x6990
+x6990 = x6989
+x6989 = x6988
+x6988 = x6987
+x6987 = x6986
+x6986 = x6985
+x6985 = x6984
+x6984 = x6983
+x6983 = x6982
+x6982 = x6981
+x6981 = x6980
+x6980 = x6979
+x6979 = x6978
+x6978 = x6977
+x6977 = x6976
+x6976 = x6975
+x6975 = x6974
+x6974 = x6973
+x6973 = x6972
+x6972 = x6971
+x6971 = x6970
+x6970 = x6969
+x6969 = x6968
+x6968 = x6967
+x6967 = x6966
+x6966 = x6965
+x6965 = x6964
+x6964 = x6963
+x6963 = x6962
+x6962 = x6961
+x6961 = x6960
+x6960 = x6959
+x6959 = x6958
+x6958 = x6957
+x6957 = x6956
+x6956 = x6955
+x6955 = x6954
+x6954 = x6953
+x6953 = x6952
+x6952 = x6951
+x6951 = x6950
+x6950 = x6949
+x6949 = x6948
+x6948 = x6947
+x6947 = x6946
+x6946 = x6945
+x6945 = x6944
+x6944 = x6943
+x6943 = x6942
+x6942 = x6941
+x6941 = x6940
+x6940 = x6939
+x6939 = x6938
+x6938 = x6937
+x6937 = x6936
+x6936 = x6935
+x6935 = x6934
+x6934 = x6933
+x6933 = x6932
+x6932 = x6931
+x6931 = x6930
+x6930 = x6929
+x6929 = x6928
+x6928 = x6927
+x6927 = x6926
+x6926 = x6925
+x6925 = x6924
+x6924 = x6923
+x6923 = x6922
+x6922 = x6921
+x6921 = x6920
+x6920 = x6919
+x6919 = x6918
+x6918 = x6917
+x6917 = x6916
+x6916 = x6915
+x6915 = x6914
+x6914 = x6913
+x6913 = x6912
+x6912 = x6911
+x6911 = x6910
+x6910 = x6909
+x6909 = x6908
+x6908 = x6907
+x6907 = x6906
+x6906 = x6905
+x6905 = x6904
+x6904 = x6903
+x6903 = x6902
+x6902 = x6901
+x6901 = x6900
+x6900 = x6899
+x6899 = x6898
+x6898 = x6897
+x6897 = x6896
+x6896 = x6895
+x6895 = x6894
+x6894 = x6893
+x6893 = x6892
+x6892 = x6891
+x6891 = x6890
+x6890 = x6889
+x6889 = x6888
+x6888 = x6887
+x6887 = x6886
+x6886 = x6885
+x6885 = x6884
+x6884 = x6883
+x6883 = x6882
+x6882 = x6881
+x6881 = x6880
+x6880 = x6879
+x6879 = x6878
+x6878 = x6877
+x6877 = x6876
+x6876 = x6875
+x6875 = x6874
+x6874 = x6873
+x6873 = x6872
+x6872 = x6871
+x6871 = x6870
+x6870 = x6869
+x6869 = x6868
+x6868 = x6867
+x6867 = x6866
+x6866 = x6865
+x6865 = x6864
+x6864 = x6863
+x6863 = x6862
+x6862 = x6861
+x6861 = x6860
+x6860 = x6859
+x6859 = x6858
+x6858 = x6857
+x6857 = x6856
+x6856 = x6855
+x6855 = x6854
+x6854 = x6853
+x6853 = x6852
+x6852 = x6851
+x6851 = x6850
+x6850 = x6849
+x6849 = x6848
+x6848 = x6847
+x6847 = x6846
+x6846 = x6845
+x6845 = x6844
+x6844 = x6843
+x6843 = x6842
+x6842 = x6841
+x6841 = x6840
+x6840 = x6839
+x6839 = x6838
+x6838 = x6837
+x6837 = x6836
+x6836 = x6835
+x6835 = x6834
+x6834 = x6833
+x6833 = x6832
+x6832 = x6831
+x6831 = x6830
+x6830 = x6829
+x6829 = x6828
+x6828 = x6827
+x6827 = x6826
+x6826 = x6825
+x6825 = x6824
+x6824 = x6823
+x6823 = x6822
+x6822 = x6821
+x6821 = x6820
+x6820 = x6819
+x6819 = x6818
+x6818 = x6817
+x6817 = x6816
+x6816 = x6815
+x6815 = x6814
+x6814 = x6813
+x6813 = x6812
+x6812 = x6811
+x6811 = x6810
+x6810 = x6809
+x6809 = x6808
+x6808 = x6807
+x6807 = x6806
+x6806 = x6805
+x6805 = x6804
+x6804 = x6803
+x6803 = x6802
+x6802 = x6801
+x6801 = x6800
+x6800 = x6799
+x6799 = x6798
+x6798 = x6797
+x6797 = x6796
+x6796 = x6795
+x6795 = x6794
+x6794 = x6793
+x6793 = x6792
+x6792 = x6791
+x6791 = x6790
+x6790 = x6789
+x6789 = x6788
+x6788 = x6787
+x6787 = x6786
+x6786 = x6785
+x6785 = x6784
+x6784 = x6783
+x6783 = x6782
+x6782 = x6781
+x6781 = x6780
+x6780 = x6779
+x6779 = x6778
+x6778 = x6777
+x6777 = x6776
+x6776 = x6775
+x6775 = x6774
+x6774 = x6773
+x6773 = x6772
+x6772 = x6771
+x6771 = x6770
+x6770 = x6769
+x6769 = x6768
+x6768 = x6767
+x6767 = x6766
+x6766 = x6765
+x6765 = x6764
+x6764 = x6763
+x6763 = x6762
+x6762 = x6761
+x6761 = x6760
+x6760 = x6759
+x6759 = x6758
+x6758 = x6757
+x6757 = x6756
+x6756 = x6755
+x6755 = x6754
+x6754 = x6753
+x6753 = x6752
+x6752 = x6751
+x6751 = x6750
+x6750 = x6749
+x6749 = x6748
+x6748 = x6747
+x6747 = x6746
+x6746 = x6745
+x6745 = x6744
+x6744 = x6743
+x6743 = x6742
+x6742 = x6741
+x6741 = x6740
+x6740 = x6739
+x6739 = x6738
+x6738 = x6737
+x6737 = x6736
+x6736 = x6735
+x6735 = x6734
+x6734 = x6733
+x6733 = x6732
+x6732 = x6731
+x6731 = x6730
+x6730 = x6729
+x6729 = x6728
+x6728 = x6727
+x6727 = x6726
+x6726 = x6725
+x6725 = x6724
+x6724 = x6723
+x6723 = x6722
+x6722 = x6721
+x6721 = x6720
+x6720 = x6719
+x6719 = x6718
+x6718 = x6717
+x6717 = x6716
+x6716 = x6715
+x6715 = x6714
+x6714 = x6713
+x6713 = x6712
+x6712 = x6711
+x6711 = x6710
+x6710 = x6709
+x6709 = x6708
+x6708 = x6707
+x6707 = x6706
+x6706 = x6705
+x6705 = x6704
+x6704 = x6703
+x6703 = x6702
+x6702 = x6701
+x6701 = x6700
+x6700 = x6699
+x6699 = x6698
+x6698 = x6697
+x6697 = x6696
+x6696 = x6695
+x6695 = x6694
+x6694 = x6693
+x6693 = x6692
+x6692 = x6691
+x6691 = x6690
+x6690 = x6689
+x6689 = x6688
+x6688 = x6687
+x6687 = x6686
+x6686 = x6685
+x6685 = x6684
+x6684 = x6683
+x6683 = x6682
+x6682 = x6681
+x6681 = x6680
+x6680 = x6679
+x6679 = x6678
+x6678 = x6677
+x6677 = x6676
+x6676 = x6675
+x6675 = x6674
+x6674 = x6673
+x6673 = x6672
+x6672 = x6671
+x6671 = x6670
+x6670 = x6669
+x6669 = x6668
+x6668 = x6667
+x6667 = x6666
+x6666 = x6665
+x6665 = x6664
+x6664 = x6663
+x6663 = x6662
+x6662 = x6661
+x6661 = x6660
+x6660 = x6659
+x6659 = x6658
+x6658 = x6657
+x6657 = x6656
+x6656 = x6655
+x6655 = x6654
+x6654 = x6653
+x6653 = x6652
+x6652 = x6651
+x6651 = x6650
+x6650 = x6649
+x6649 = x6648
+x6648 = x6647
+x6647 = x6646
+x6646 = x6645
+x6645 = x6644
+x6644 = x6643
+x6643 = x6642
+x6642 = x6641
+x6641 = x6640
+x6640 = x6639
+x6639 = x6638
+x6638 = x6637
+x6637 = x6636
+x6636 = x6635
+x6635 = x6634
+x6634 = x6633
+x6633 = x6632
+x6632 = x6631
+x6631 = x6630
+x6630 = x6629
+x6629 = x6628
+x6628 = x6627
+x6627 = x6626
+x6626 = x6625
+x6625 = x6624
+x6624 = x6623
+x6623 = x6622
+x6622 = x6621
+x6621 = x6620
+x6620 = x6619
+x6619 = x6618
+x6618 = x6617
+x6617 = x6616
+x6616 = x6615
+x6615 = x6614
+x6614 = x6613
+x6613 = x6612
+x6612 = x6611
+x6611 = x6610
+x6610 = x6609
+x6609 = x6608
+x6608 = x6607
+x6607 = x6606
+x6606 = x6605
+x6605 = x6604
+x6604 = x6603
+x6603 = x6602
+x6602 = x6601
+x6601 = x6600
+x6600 = x6599
+x6599 = x6598
+x6598 = x6597
+x6597 = x6596
+x6596 = x6595
+x6595 = x6594
+x6594 = x6593
+x6593 = x6592
+x6592 = x6591
+x6591 = x6590
+x6590 = x6589
+x6589 = x6588
+x6588 = x6587
+x6587 = x6586
+x6586 = x6585
+x6585 = x6584
+x6584 = x6583
+x6583 = x6582
+x6582 = x6581
+x6581 = x6580
+x6580 = x6579
+x6579 = x6578
+x6578 = x6577
+x6577 = x6576
+x6576 = x6575
+x6575 = x6574
+x6574 = x6573
+x6573 = x6572
+x6572 = x6571
+x6571 = x6570
+x6570 = x6569
+x6569 = x6568
+x6568 = x6567
+x6567 = x6566
+x6566 = x6565
+x6565 = x6564
+x6564 = x6563
+x6563 = x6562
+x6562 = x6561
+x6561 = x6560
+x6560 = x6559
+x6559 = x6558
+x6558 = x6557
+x6557 = x6556
+x6556 = x6555
+x6555 = x6554
+x6554 = x6553
+x6553 = x6552
+x6552 = x6551
+x6551 = x6550
+x6550 = x6549
+x6549 = x6548
+x6548 = x6547
+x6547 = x6546
+x6546 = x6545
+x6545 = x6544
+x6544 = x6543
+x6543 = x6542
+x6542 = x6541
+x6541 = x6540
+x6540 = x6539
+x6539 = x6538
+x6538 = x6537
+x6537 = x6536
+x6536 = x6535
+x6535 = x6534
+x6534 = x6533
+x6533 = x6532
+x6532 = x6531
+x6531 = x6530
+x6530 = x6529
+x6529 = x6528
+x6528 = x6527
+x6527 = x6526
+x6526 = x6525
+x6525 = x6524
+x6524 = x6523
+x6523 = x6522
+x6522 = x6521
+x6521 = x6520
+x6520 = x6519
+x6519 = x6518
+x6518 = x6517
+x6517 = x6516
+x6516 = x6515
+x6515 = x6514
+x6514 = x6513
+x6513 = x6512
+x6512 = x6511
+x6511 = x6510
+x6510 = x6509
+x6509 = x6508
+x6508 = x6507
+x6507 = x6506
+x6506 = x6505
+x6505 = x6504
+x6504 = x6503
+x6503 = x6502
+x6502 = x6501
+x6501 = x6500
+x6500 = x6499
+x6499 = x6498
+x6498 = x6497
+x6497 = x6496
+x6496 = x6495
+x6495 = x6494
+x6494 = x6493
+x6493 = x6492
+x6492 = x6491
+x6491 = x6490
+x6490 = x6489
+x6489 = x6488
+x6488 = x6487
+x6487 = x6486
+x6486 = x6485
+x6485 = x6484
+x6484 = x6483
+x6483 = x6482
+x6482 = x6481
+x6481 = x6480
+x6480 = x6479
+x6479 = x6478
+x6478 = x6477
+x6477 = x6476
+x6476 = x6475
+x6475 = x6474
+x6474 = x6473
+x6473 = x6472
+x6472 = x6471
+x6471 = x6470
+x6470 = x6469
+x6469 = x6468
+x6468 = x6467
+x6467 = x6466
+x6466 = x6465
+x6465 = x6464
+x6464 = x6463
+x6463 = x6462
+x6462 = x6461
+x6461 = x6460
+x6460 = x6459
+x6459 = x6458
+x6458 = x6457
+x6457 = x6456
+x6456 = x6455
+x6455 = x6454
+x6454 = x6453
+x6453 = x6452
+x6452 = x6451
+x6451 = x6450
+x6450 = x6449
+x6449 = x6448
+x6448 = x6447
+x6447 = x6446
+x6446 = x6445
+x6445 = x6444
+x6444 = x6443
+x6443 = x6442
+x6442 = x6441
+x6441 = x6440
+x6440 = x6439
+x6439 = x6438
+x6438 = x6437
+x6437 = x6436
+x6436 = x6435
+x6435 = x6434
+x6434 = x6433
+x6433 = x6432
+x6432 = x6431
+x6431 = x6430
+x6430 = x6429
+x6429 = x6428
+x6428 = x6427
+x6427 = x6426
+x6426 = x6425
+x6425 = x6424
+x6424 = x6423
+x6423 = x6422
+x6422 = x6421
+x6421 = x6420
+x6420 = x6419
+x6419 = x6418
+x6418 = x6417
+x6417 = x6416
+x6416 = x6415
+x6415 = x6414
+x6414 = x6413
+x6413 = x6412
+x6412 = x6411
+x6411 = x6410
+x6410 = x6409
+x6409 = x6408
+x6408 = x6407
+x6407 = x6406
+x6406 = x6405
+x6405 = x6404
+x6404 = x6403
+x6403 = x6402
+x6402 = x6401
+x6401 = x6400
+x6400 = x6399
+x6399 = x6398
+x6398 = x6397
+x6397 = x6396
+x6396 = x6395
+x6395 = x6394
+x6394 = x6393
+x6393 = x6392
+x6392 = x6391
+x6391 = x6390
+x6390 = x6389
+x6389 = x6388
+x6388 = x6387
+x6387 = x6386
+x6386 = x6385
+x6385 = x6384
+x6384 = x6383
+x6383 = x6382
+x6382 = x6381
+x6381 = x6380
+x6380 = x6379
+x6379 = x6378
+x6378 = x6377
+x6377 = x6376
+x6376 = x6375
+x6375 = x6374
+x6374 = x6373
+x6373 = x6372
+x6372 = x6371
+x6371 = x6370
+x6370 = x6369
+x6369 = x6368
+x6368 = x6367
+x6367 = x6366
+x6366 = x6365
+x6365 = x6364
+x6364 = x6363
+x6363 = x6362
+x6362 = x6361
+x6361 = x6360
+x6360 = x6359
+x6359 = x6358
+x6358 = x6357
+x6357 = x6356
+x6356 = x6355
+x6355 = x6354
+x6354 = x6353
+x6353 = x6352
+x6352 = x6351
+x6351 = x6350
+x6350 = x6349
+x6349 = x6348
+x6348 = x6347
+x6347 = x6346
+x6346 = x6345
+x6345 = x6344
+x6344 = x6343
+x6343 = x6342
+x6342 = x6341
+x6341 = x6340
+x6340 = x6339
+x6339 = x6338
+x6338 = x6337
+x6337 = x6336
+x6336 = x6335
+x6335 = x6334
+x6334 = x6333
+x6333 = x6332
+x6332 = x6331
+x6331 = x6330
+x6330 = x6329
+x6329 = x6328
+x6328 = x6327
+x6327 = x6326
+x6326 = x6325
+x6325 = x6324
+x6324 = x6323
+x6323 = x6322
+x6322 = x6321
+x6321 = x6320
+x6320 = x6319
+x6319 = x6318
+x6318 = x6317
+x6317 = x6316
+x6316 = x6315
+x6315 = x6314
+x6314 = x6313
+x6313 = x6312
+x6312 = x6311
+x6311 = x6310
+x6310 = x6309
+x6309 = x6308
+x6308 = x6307
+x6307 = x6306
+x6306 = x6305
+x6305 = x6304
+x6304 = x6303
+x6303 = x6302
+x6302 = x6301
+x6301 = x6300
+x6300 = x6299
+x6299 = x6298
+x6298 = x6297
+x6297 = x6296
+x6296 = x6295
+x6295 = x6294
+x6294 = x6293
+x6293 = x6292
+x6292 = x6291
+x6291 = x6290
+x6290 = x6289
+x6289 = x6288
+x6288 = x6287
+x6287 = x6286
+x6286 = x6285
+x6285 = x6284
+x6284 = x6283
+x6283 = x6282
+x6282 = x6281
+x6281 = x6280
+x6280 = x6279
+x6279 = x6278
+x6278 = x6277
+x6277 = x6276
+x6276 = x6275
+x6275 = x6274
+x6274 = x6273
+x6273 = x6272
+x6272 = x6271
+x6271 = x6270
+x6270 = x6269
+x6269 = x6268
+x6268 = x6267
+x6267 = x6266
+x6266 = x6265
+x6265 = x6264
+x6264 = x6263
+x6263 = x6262
+x6262 = x6261
+x6261 = x6260
+x6260 = x6259
+x6259 = x6258
+x6258 = x6257
+x6257 = x6256
+x6256 = x6255
+x6255 = x6254
+x6254 = x6253
+x6253 = x6252
+x6252 = x6251
+x6251 = x6250
+x6250 = x6249
+x6249 = x6248
+x6248 = x6247
+x6247 = x6246
+x6246 = x6245
+x6245 = x6244
+x6244 = x6243
+x6243 = x6242
+x6242 = x6241
+x6241 = x6240
+x6240 = x6239
+x6239 = x6238
+x6238 = x6237
+x6237 = x6236
+x6236 = x6235
+x6235 = x6234
+x6234 = x6233
+x6233 = x6232
+x6232 = x6231
+x6231 = x6230
+x6230 = x6229
+x6229 = x6228
+x6228 = x6227
+x6227 = x6226
+x6226 = x6225
+x6225 = x6224
+x6224 = x6223
+x6223 = x6222
+x6222 = x6221
+x6221 = x6220
+x6220 = x6219
+x6219 = x6218
+x6218 = x6217
+x6217 = x6216
+x6216 = x6215
+x6215 = x6214
+x6214 = x6213
+x6213 = x6212
+x6212 = x6211
+x6211 = x6210
+x6210 = x6209
+x6209 = x6208
+x6208 = x6207
+x6207 = x6206
+x6206 = x6205
+x6205 = x6204
+x6204 = x6203
+x6203 = x6202
+x6202 = x6201
+x6201 = x6200
+x6200 = x6199
+x6199 = x6198
+x6198 = x6197
+x6197 = x6196
+x6196 = x6195
+x6195 = x6194
+x6194 = x6193
+x6193 = x6192
+x6192 = x6191
+x6191 = x6190
+x6190 = x6189
+x6189 = x6188
+x6188 = x6187
+x6187 = x6186
+x6186 = x6185
+x6185 = x6184
+x6184 = x6183
+x6183 = x6182
+x6182 = x6181
+x6181 = x6180
+x6180 = x6179
+x6179 = x6178
+x6178 = x6177
+x6177 = x6176
+x6176 = x6175
+x6175 = x6174
+x6174 = x6173
+x6173 = x6172
+x6172 = x6171
+x6171 = x6170
+x6170 = x6169
+x6169 = x6168
+x6168 = x6167
+x6167 = x6166
+x6166 = x6165
+x6165 = x6164
+x6164 = x6163
+x6163 = x6162
+x6162 = x6161
+x6161 = x6160
+x6160 = x6159
+x6159 = x6158
+x6158 = x6157
+x6157 = x6156
+x6156 = x6155
+x6155 = x6154
+x6154 = x6153
+x6153 = x6152
+x6152 = x6151
+x6151 = x6150
+x6150 = x6149
+x6149 = x6148
+x6148 = x6147
+x6147 = x6146
+x6146 = x6145
+x6145 = x6144
+x6144 = x6143
+x6143 = x6142
+x6142 = x6141
+x6141 = x6140
+x6140 = x6139
+x6139 = x6138
+x6138 = x6137
+x6137 = x6136
+x6136 = x6135
+x6135 = x6134
+x6134 = x6133
+x6133 = x6132
+x6132 = x6131
+x6131 = x6130
+x6130 = x6129
+x6129 = x6128
+x6128 = x6127
+x6127 = x6126
+x6126 = x6125
+x6125 = x6124
+x6124 = x6123
+x6123 = x6122
+x6122 = x6121
+x6121 = x6120
+x6120 = x6119
+x6119 = x6118
+x6118 = x6117
+x6117 = x6116
+x6116 = x6115
+x6115 = x6114
+x6114 = x6113
+x6113 = x6112
+x6112 = x6111
+x6111 = x6110
+x6110 = x6109
+x6109 = x6108
+x6108 = x6107
+x6107 = x6106
+x6106 = x6105
+x6105 = x6104
+x6104 = x6103
+x6103 = x6102
+x6102 = x6101
+x6101 = x6100
+x6100 = x6099
+x6099 = x6098
+x6098 = x6097
+x6097 = x6096
+x6096 = x6095
+x6095 = x6094
+x6094 = x6093
+x6093 = x6092
+x6092 = x6091
+x6091 = x6090
+x6090 = x6089
+x6089 = x6088
+x6088 = x6087
+x6087 = x6086
+x6086 = x6085
+x6085 = x6084
+x6084 = x6083
+x6083 = x6082
+x6082 = x6081
+x6081 = x6080
+x6080 = x6079
+x6079 = x6078
+x6078 = x6077
+x6077 = x6076
+x6076 = x6075
+x6075 = x6074
+x6074 = x6073
+x6073 = x6072
+x6072 = x6071
+x6071 = x6070
+x6070 = x6069
+x6069 = x6068
+x6068 = x6067
+x6067 = x6066
+x6066 = x6065
+x6065 = x6064
+x6064 = x6063
+x6063 = x6062
+x6062 = x6061
+x6061 = x6060
+x6060 = x6059
+x6059 = x6058
+x6058 = x6057
+x6057 = x6056
+x6056 = x6055
+x6055 = x6054
+x6054 = x6053
+x6053 = x6052
+x6052 = x6051
+x6051 = x6050
+x6050 = x6049
+x6049 = x6048
+x6048 = x6047
+x6047 = x6046
+x6046 = x6045
+x6045 = x6044
+x6044 = x6043
+x6043 = x6042
+x6042 = x6041
+x6041 = x6040
+x6040 = x6039
+x6039 = x6038
+x6038 = x6037
+x6037 = x6036
+x6036 = x6035
+x6035 = x6034
+x6034 = x6033
+x6033 = x6032
+x6032 = x6031
+x6031 = x6030
+x6030 = x6029
+x6029 = x6028
+x6028 = x6027
+x6027 = x6026
+x6026 = x6025
+x6025 = x6024
+x6024 = x6023
+x6023 = x6022
+x6022 = x6021
+x6021 = x6020
+x6020 = x6019
+x6019 = x6018
+x6018 = x6017
+x6017 = x6016
+x6016 = x6015
+x6015 = x6014
+x6014 = x6013
+x6013 = x6012
+x6012 = x6011
+x6011 = x6010
+x6010 = x6009
+x6009 = x6008
+x6008 = x6007
+x6007 = x6006
+x6006 = x6005
+x6005 = x6004
+x6004 = x6003
+x6003 = x6002
+x6002 = x6001
+x6001 = x6000
+x6000 = x5999
+x5999 = x5998
+x5998 = x5997
+x5997 = x5996
+x5996 = x5995
+x5995 = x5994
+x5994 = x5993
+x5993 = x5992
+x5992 = x5991
+x5991 = x5990
+x5990 = x5989
+x5989 = x5988
+x5988 = x5987
+x5987 = x5986
+x5986 = x5985
+x5985 = x5984
+x5984 = x5983
+x5983 = x5982
+x5982 = x5981
+x5981 = x5980
+x5980 = x5979
+x5979 = x5978
+x5978 = x5977
+x5977 = x5976
+x5976 = x5975
+x5975 = x5974
+x5974 = x5973
+x5973 = x5972
+x5972 = x5971
+x5971 = x5970
+x5970 = x5969
+x5969 = x5968
+x5968 = x5967
+x5967 = x5966
+x5966 = x5965
+x5965 = x5964
+x5964 = x5963
+x5963 = x5962
+x5962 = x5961
+x5961 = x5960
+x5960 = x5959
+x5959 = x5958
+x5958 = x5957
+x5957 = x5956
+x5956 = x5955
+x5955 = x5954
+x5954 = x5953
+x5953 = x5952
+x5952 = x5951
+x5951 = x5950
+x5950 = x5949
+x5949 = x5948
+x5948 = x5947
+x5947 = x5946
+x5946 = x5945
+x5945 = x5944
+x5944 = x5943
+x5943 = x5942
+x5942 = x5941
+x5941 = x5940
+x5940 = x5939
+x5939 = x5938
+x5938 = x5937
+x5937 = x5936
+x5936 = x5935
+x5935 = x5934
+x5934 = x5933
+x5933 = x5932
+x5932 = x5931
+x5931 = x5930
+x5930 = x5929
+x5929 = x5928
+x5928 = x5927
+x5927 = x5926
+x5926 = x5925
+x5925 = x5924
+x5924 = x5923
+x5923 = x5922
+x5922 = x5921
+x5921 = x5920
+x5920 = x5919
+x5919 = x5918
+x5918 = x5917
+x5917 = x5916
+x5916 = x5915
+x5915 = x5914
+x5914 = x5913
+x5913 = x5912
+x5912 = x5911
+x5911 = x5910
+x5910 = x5909
+x5909 = x5908
+x5908 = x5907
+x5907 = x5906
+x5906 = x5905
+x5905 = x5904
+x5904 = x5903
+x5903 = x5902
+x5902 = x5901
+x5901 = x5900
+x5900 = x5899
+x5899 = x5898
+x5898 = x5897
+x5897 = x5896
+x5896 = x5895
+x5895 = x5894
+x5894 = x5893
+x5893 = x5892
+x5892 = x5891
+x5891 = x5890
+x5890 = x5889
+x5889 = x5888
+x5888 = x5887
+x5887 = x5886
+x5886 = x5885
+x5885 = x5884
+x5884 = x5883
+x5883 = x5882
+x5882 = x5881
+x5881 = x5880
+x5880 = x5879
+x5879 = x5878
+x5878 = x5877
+x5877 = x5876
+x5876 = x5875
+x5875 = x5874
+x5874 = x5873
+x5873 = x5872
+x5872 = x5871
+x5871 = x5870
+x5870 = x5869
+x5869 = x5868
+x5868 = x5867
+x5867 = x5866
+x5866 = x5865
+x5865 = x5864
+x5864 = x5863
+x5863 = x5862
+x5862 = x5861
+x5861 = x5860
+x5860 = x5859
+x5859 = x5858
+x5858 = x5857
+x5857 = x5856
+x5856 = x5855
+x5855 = x5854
+x5854 = x5853
+x5853 = x5852
+x5852 = x5851
+x5851 = x5850
+x5850 = x5849
+x5849 = x5848
+x5848 = x5847
+x5847 = x5846
+x5846 = x5845
+x5845 = x5844
+x5844 = x5843
+x5843 = x5842
+x5842 = x5841
+x5841 = x5840
+x5840 = x5839
+x5839 = x5838
+x5838 = x5837
+x5837 = x5836
+x5836 = x5835
+x5835 = x5834
+x5834 = x5833
+x5833 = x5832
+x5832 = x5831
+x5831 = x5830
+x5830 = x5829
+x5829 = x5828
+x5828 = x5827
+x5827 = x5826
+x5826 = x5825
+x5825 = x5824
+x5824 = x5823
+x5823 = x5822
+x5822 = x5821
+x5821 = x5820
+x5820 = x5819
+x5819 = x5818
+x5818 = x5817
+x5817 = x5816
+x5816 = x5815
+x5815 = x5814
+x5814 = x5813
+x5813 = x5812
+x5812 = x5811
+x5811 = x5810
+x5810 = x5809
+x5809 = x5808
+x5808 = x5807
+x5807 = x5806
+x5806 = x5805
+x5805 = x5804
+x5804 = x5803
+x5803 = x5802
+x5802 = x5801
+x5801 = x5800
+x5800 = x5799
+x5799 = x5798
+x5798 = x5797
+x5797 = x5796
+x5796 = x5795
+x5795 = x5794
+x5794 = x5793
+x5793 = x5792
+x5792 = x5791
+x5791 = x5790
+x5790 = x5789
+x5789 = x5788
+x5788 = x5787
+x5787 = x5786
+x5786 = x5785
+x5785 = x5784
+x5784 = x5783
+x5783 = x5782
+x5782 = x5781
+x5781 = x5780
+x5780 = x5779
+x5779 = x5778
+x5778 = x5777
+x5777 = x5776
+x5776 = x5775
+x5775 = x5774
+x5774 = x5773
+x5773 = x5772
+x5772 = x5771
+x5771 = x5770
+x5770 = x5769
+x5769 = x5768
+x5768 = x5767
+x5767 = x5766
+x5766 = x5765
+x5765 = x5764
+x5764 = x5763
+x5763 = x5762
+x5762 = x5761
+x5761 = x5760
+x5760 = x5759
+x5759 = x5758
+x5758 = x5757
+x5757 = x5756
+x5756 = x5755
+x5755 = x5754
+x5754 = x5753
+x5753 = x5752
+x5752 = x5751
+x5751 = x5750
+x5750 = x5749
+x5749 = x5748
+x5748 = x5747
+x5747 = x5746
+x5746 = x5745
+x5745 = x5744
+x5744 = x5743
+x5743 = x5742
+x5742 = x5741
+x5741 = x5740
+x5740 = x5739
+x5739 = x5738
+x5738 = x5737
+x5737 = x5736
+x5736 = x5735
+x5735 = x5734
+x5734 = x5733
+x5733 = x5732
+x5732 = x5731
+x5731 = x5730
+x5730 = x5729
+x5729 = x5728
+x5728 = x5727
+x5727 = x5726
+x5726 = x5725
+x5725 = x5724
+x5724 = x5723
+x5723 = x5722
+x5722 = x5721
+x5721 = x5720
+x5720 = x5719
+x5719 = x5718
+x5718 = x5717
+x5717 = x5716
+x5716 = x5715
+x5715 = x5714
+x5714 = x5713
+x5713 = x5712
+x5712 = x5711
+x5711 = x5710
+x5710 = x5709
+x5709 = x5708
+x5708 = x5707
+x5707 = x5706
+x5706 = x5705
+x5705 = x5704
+x5704 = x5703
+x5703 = x5702
+x5702 = x5701
+x5701 = x5700
+x5700 = x5699
+x5699 = x5698
+x5698 = x5697
+x5697 = x5696
+x5696 = x5695
+x5695 = x5694
+x5694 = x5693
+x5693 = x5692
+x5692 = x5691
+x5691 = x5690
+x5690 = x5689
+x5689 = x5688
+x5688 = x5687
+x5687 = x5686
+x5686 = x5685
+x5685 = x5684
+x5684 = x5683
+x5683 = x5682
+x5682 = x5681
+x5681 = x5680
+x5680 = x5679
+x5679 = x5678
+x5678 = x5677
+x5677 = x5676
+x5676 = x5675
+x5675 = x5674
+x5674 = x5673
+x5673 = x5672
+x5672 = x5671
+x5671 = x5670
+x5670 = x5669
+x5669 = x5668
+x5668 = x5667
+x5667 = x5666
+x5666 = x5665
+x5665 = x5664
+x5664 = x5663
+x5663 = x5662
+x5662 = x5661
+x5661 = x5660
+x5660 = x5659
+x5659 = x5658
+x5658 = x5657
+x5657 = x5656
+x5656 = x5655
+x5655 = x5654
+x5654 = x5653
+x5653 = x5652
+x5652 = x5651
+x5651 = x5650
+x5650 = x5649
+x5649 = x5648
+x5648 = x5647
+x5647 = x5646
+x5646 = x5645
+x5645 = x5644
+x5644 = x5643
+x5643 = x5642
+x5642 = x5641
+x5641 = x5640
+x5640 = x5639
+x5639 = x5638
+x5638 = x5637
+x5637 = x5636
+x5636 = x5635
+x5635 = x5634
+x5634 = x5633
+x5633 = x5632
+x5632 = x5631
+x5631 = x5630
+x5630 = x5629
+x5629 = x5628
+x5628 = x5627
+x5627 = x5626
+x5626 = x5625
+x5625 = x5624
+x5624 = x5623
+x5623 = x5622
+x5622 = x5621
+x5621 = x5620
+x5620 = x5619
+x5619 = x5618
+x5618 = x5617
+x5617 = x5616
+x5616 = x5615
+x5615 = x5614
+x5614 = x5613
+x5613 = x5612
+x5612 = x5611
+x5611 = x5610
+x5610 = x5609
+x5609 = x5608
+x5608 = x5607
+x5607 = x5606
+x5606 = x5605
+x5605 = x5604
+x5604 = x5603
+x5603 = x5602
+x5602 = x5601
+x5601 = x5600
+x5600 = x5599
+x5599 = x5598
+x5598 = x5597
+x5597 = x5596
+x5596 = x5595
+x5595 = x5594
+x5594 = x5593
+x5593 = x5592
+x5592 = x5591
+x5591 = x5590
+x5590 = x5589
+x5589 = x5588
+x5588 = x5587
+x5587 = x5586
+x5586 = x5585
+x5585 = x5584
+x5584 = x5583
+x5583 = x5582
+x5582 = x5581
+x5581 = x5580
+x5580 = x5579
+x5579 = x5578
+x5578 = x5577
+x5577 = x5576
+x5576 = x5575
+x5575 = x5574
+x5574 = x5573
+x5573 = x5572
+x5572 = x5571
+x5571 = x5570
+x5570 = x5569
+x5569 = x5568
+x5568 = x5567
+x5567 = x5566
+x5566 = x5565
+x5565 = x5564
+x5564 = x5563
+x5563 = x5562
+x5562 = x5561
+x5561 = x5560
+x5560 = x5559
+x5559 = x5558
+x5558 = x5557
+x5557 = x5556
+x5556 = x5555
+x5555 = x5554
+x5554 = x5553
+x5553 = x5552
+x5552 = x5551
+x5551 = x5550
+x5550 = x5549
+x5549 = x5548
+x5548 = x5547
+x5547 = x5546
+x5546 = x5545
+x5545 = x5544
+x5544 = x5543
+x5543 = x5542
+x5542 = x5541
+x5541 = x5540
+x5540 = x5539
+x5539 = x5538
+x5538 = x5537
+x5537 = x5536
+x5536 = x5535
+x5535 = x5534
+x5534 = x5533
+x5533 = x5532
+x5532 = x5531
+x5531 = x5530
+x5530 = x5529
+x5529 = x5528
+x5528 = x5527
+x5527 = x5526
+x5526 = x5525
+x5525 = x5524
+x5524 = x5523
+x5523 = x5522
+x5522 = x5521
+x5521 = x5520
+x5520 = x5519
+x5519 = x5518
+x5518 = x5517
+x5517 = x5516
+x5516 = x5515
+x5515 = x5514
+x5514 = x5513
+x5513 = x5512
+x5512 = x5511
+x5511 = x5510
+x5510 = x5509
+x5509 = x5508
+x5508 = x5507
+x5507 = x5506
+x5506 = x5505
+x5505 = x5504
+x5504 = x5503
+x5503 = x5502
+x5502 = x5501
+x5501 = x5500
+x5500 = x5499
+x5499 = x5498
+x5498 = x5497
+x5497 = x5496
+x5496 = x5495
+x5495 = x5494
+x5494 = x5493
+x5493 = x5492
+x5492 = x5491
+x5491 = x5490
+x5490 = x5489
+x5489 = x5488
+x5488 = x5487
+x5487 = x5486
+x5486 = x5485
+x5485 = x5484
+x5484 = x5483
+x5483 = x5482
+x5482 = x5481
+x5481 = x5480
+x5480 = x5479
+x5479 = x5478
+x5478 = x5477
+x5477 = x5476
+x5476 = x5475
+x5475 = x5474
+x5474 = x5473
+x5473 = x5472
+x5472 = x5471
+x5471 = x5470
+x5470 = x5469
+x5469 = x5468
+x5468 = x5467
+x5467 = x5466
+x5466 = x5465
+x5465 = x5464
+x5464 = x5463
+x5463 = x5462
+x5462 = x5461
+x5461 = x5460
+x5460 = x5459
+x5459 = x5458
+x5458 = x5457
+x5457 = x5456
+x5456 = x5455
+x5455 = x5454
+x5454 = x5453
+x5453 = x5452
+x5452 = x5451
+x5451 = x5450
+x5450 = x5449
+x5449 = x5448
+x5448 = x5447
+x5447 = x5446
+x5446 = x5445
+x5445 = x5444
+x5444 = x5443
+x5443 = x5442
+x5442 = x5441
+x5441 = x5440
+x5440 = x5439
+x5439 = x5438
+x5438 = x5437
+x5437 = x5436
+x5436 = x5435
+x5435 = x5434
+x5434 = x5433
+x5433 = x5432
+x5432 = x5431
+x5431 = x5430
+x5430 = x5429
+x5429 = x5428
+x5428 = x5427
+x5427 = x5426
+x5426 = x5425
+x5425 = x5424
+x5424 = x5423
+x5423 = x5422
+x5422 = x5421
+x5421 = x5420
+x5420 = x5419
+x5419 = x5418
+x5418 = x5417
+x5417 = x5416
+x5416 = x5415
+x5415 = x5414
+x5414 = x5413
+x5413 = x5412
+x5412 = x5411
+x5411 = x5410
+x5410 = x5409
+x5409 = x5408
+x5408 = x5407
+x5407 = x5406
+x5406 = x5405
+x5405 = x5404
+x5404 = x5403
+x5403 = x5402
+x5402 = x5401
+x5401 = x5400
+x5400 = x5399
+x5399 = x5398
+x5398 = x5397
+x5397 = x5396
+x5396 = x5395
+x5395 = x5394
+x5394 = x5393
+x5393 = x5392
+x5392 = x5391
+x5391 = x5390
+x5390 = x5389
+x5389 = x5388
+x5388 = x5387
+x5387 = x5386
+x5386 = x5385
+x5385 = x5384
+x5384 = x5383
+x5383 = x5382
+x5382 = x5381
+x5381 = x5380
+x5380 = x5379
+x5379 = x5378
+x5378 = x5377
+x5377 = x5376
+x5376 = x5375
+x5375 = x5374
+x5374 = x5373
+x5373 = x5372
+x5372 = x5371
+x5371 = x5370
+x5370 = x5369
+x5369 = x5368
+x5368 = x5367
+x5367 = x5366
+x5366 = x5365
+x5365 = x5364
+x5364 = x5363
+x5363 = x5362
+x5362 = x5361
+x5361 = x5360
+x5360 = x5359
+x5359 = x5358
+x5358 = x5357
+x5357 = x5356
+x5356 = x5355
+x5355 = x5354
+x5354 = x5353
+x5353 = x5352
+x5352 = x5351
+x5351 = x5350
+x5350 = x5349
+x5349 = x5348
+x5348 = x5347
+x5347 = x5346
+x5346 = x5345
+x5345 = x5344
+x5344 = x5343
+x5343 = x5342
+x5342 = x5341
+x5341 = x5340
+x5340 = x5339
+x5339 = x5338
+x5338 = x5337
+x5337 = x5336
+x5336 = x5335
+x5335 = x5334
+x5334 = x5333
+x5333 = x5332
+x5332 = x5331
+x5331 = x5330
+x5330 = x5329
+x5329 = x5328
+x5328 = x5327
+x5327 = x5326
+x5326 = x5325
+x5325 = x5324
+x5324 = x5323
+x5323 = x5322
+x5322 = x5321
+x5321 = x5320
+x5320 = x5319
+x5319 = x5318
+x5318 = x5317
+x5317 = x5316
+x5316 = x5315
+x5315 = x5314
+x5314 = x5313
+x5313 = x5312
+x5312 = x5311
+x5311 = x5310
+x5310 = x5309
+x5309 = x5308
+x5308 = x5307
+x5307 = x5306
+x5306 = x5305
+x5305 = x5304
+x5304 = x5303
+x5303 = x5302
+x5302 = x5301
+x5301 = x5300
+x5300 = x5299
+x5299 = x5298
+x5298 = x5297
+x5297 = x5296
+x5296 = x5295
+x5295 = x5294
+x5294 = x5293
+x5293 = x5292
+x5292 = x5291
+x5291 = x5290
+x5290 = x5289
+x5289 = x5288
+x5288 = x5287
+x5287 = x5286
+x5286 = x5285
+x5285 = x5284
+x5284 = x5283
+x5283 = x5282
+x5282 = x5281
+x5281 = x5280
+x5280 = x5279
+x5279 = x5278
+x5278 = x5277
+x5277 = x5276
+x5276 = x5275
+x5275 = x5274
+x5274 = x5273
+x5273 = x5272
+x5272 = x5271
+x5271 = x5270
+x5270 = x5269
+x5269 = x5268
+x5268 = x5267
+x5267 = x5266
+x5266 = x5265
+x5265 = x5264
+x5264 = x5263
+x5263 = x5262
+x5262 = x5261
+x5261 = x5260
+x5260 = x5259
+x5259 = x5258
+x5258 = x5257
+x5257 = x5256
+x5256 = x5255
+x5255 = x5254
+x5254 = x5253
+x5253 = x5252
+x5252 = x5251
+x5251 = x5250
+x5250 = x5249
+x5249 = x5248
+x5248 = x5247
+x5247 = x5246
+x5246 = x5245
+x5245 = x5244
+x5244 = x5243
+x5243 = x5242
+x5242 = x5241
+x5241 = x5240
+x5240 = x5239
+x5239 = x5238
+x5238 = x5237
+x5237 = x5236
+x5236 = x5235
+x5235 = x5234
+x5234 = x5233
+x5233 = x5232
+x5232 = x5231
+x5231 = x5230
+x5230 = x5229
+x5229 = x5228
+x5228 = x5227
+x5227 = x5226
+x5226 = x5225
+x5225 = x5224
+x5224 = x5223
+x5223 = x5222
+x5222 = x5221
+x5221 = x5220
+x5220 = x5219
+x5219 = x5218
+x5218 = x5217
+x5217 = x5216
+x5216 = x5215
+x5215 = x5214
+x5214 = x5213
+x5213 = x5212
+x5212 = x5211
+x5211 = x5210
+x5210 = x5209
+x5209 = x5208
+x5208 = x5207
+x5207 = x5206
+x5206 = x5205
+x5205 = x5204
+x5204 = x5203
+x5203 = x5202
+x5202 = x5201
+x5201 = x5200
+x5200 = x5199
+x5199 = x5198
+x5198 = x5197
+x5197 = x5196
+x5196 = x5195
+x5195 = x5194
+x5194 = x5193
+x5193 = x5192
+x5192 = x5191
+x5191 = x5190
+x5190 = x5189
+x5189 = x5188
+x5188 = x5187
+x5187 = x5186
+x5186 = x5185
+x5185 = x5184
+x5184 = x5183
+x5183 = x5182
+x5182 = x5181
+x5181 = x5180
+x5180 = x5179
+x5179 = x5178
+x5178 = x5177
+x5177 = x5176
+x5176 = x5175
+x5175 = x5174
+x5174 = x5173
+x5173 = x5172
+x5172 = x5171
+x5171 = x5170
+x5170 = x5169
+x5169 = x5168
+x5168 = x5167
+x5167 = x5166
+x5166 = x5165
+x5165 = x5164
+x5164 = x5163
+x5163 = x5162
+x5162 = x5161
+x5161 = x5160
+x5160 = x5159
+x5159 = x5158
+x5158 = x5157
+x5157 = x5156
+x5156 = x5155
+x5155 = x5154
+x5154 = x5153
+x5153 = x5152
+x5152 = x5151
+x5151 = x5150
+x5150 = x5149
+x5149 = x5148
+x5148 = x5147
+x5147 = x5146
+x5146 = x5145
+x5145 = x5144
+x5144 = x5143
+x5143 = x5142
+x5142 = x5141
+x5141 = x5140
+x5140 = x5139
+x5139 = x5138
+x5138 = x5137
+x5137 = x5136
+x5136 = x5135
+x5135 = x5134
+x5134 = x5133
+x5133 = x5132
+x5132 = x5131
+x5131 = x5130
+x5130 = x5129
+x5129 = x5128
+x5128 = x5127
+x5127 = x5126
+x5126 = x5125
+x5125 = x5124
+x5124 = x5123
+x5123 = x5122
+x5122 = x5121
+x5121 = x5120
+x5120 = x5119
+x5119 = x5118
+x5118 = x5117
+x5117 = x5116
+x5116 = x5115
+x5115 = x5114
+x5114 = x5113
+x5113 = x5112
+x5112 = x5111
+x5111 = x5110
+x5110 = x5109
+x5109 = x5108
+x5108 = x5107
+x5107 = x5106
+x5106 = x5105
+x5105 = x5104
+x5104 = x5103
+x5103 = x5102
+x5102 = x5101
+x5101 = x5100
+x5100 = x5099
+x5099 = x5098
+x5098 = x5097
+x5097 = x5096
+x5096 = x5095
+x5095 = x5094
+x5094 = x5093
+x5093 = x5092
+x5092 = x5091
+x5091 = x5090
+x5090 = x5089
+x5089 = x5088
+x5088 = x5087
+x5087 = x5086
+x5086 = x5085
+x5085 = x5084
+x5084 = x5083
+x5083 = x5082
+x5082 = x5081
+x5081 = x5080
+x5080 = x5079
+x5079 = x5078
+x5078 = x5077
+x5077 = x5076
+x5076 = x5075
+x5075 = x5074
+x5074 = x5073
+x5073 = x5072
+x5072 = x5071
+x5071 = x5070
+x5070 = x5069
+x5069 = x5068
+x5068 = x5067
+x5067 = x5066
+x5066 = x5065
+x5065 = x5064
+x5064 = x5063
+x5063 = x5062
+x5062 = x5061
+x5061 = x5060
+x5060 = x5059
+x5059 = x5058
+x5058 = x5057
+x5057 = x5056
+x5056 = x5055
+x5055 = x5054
+x5054 = x5053
+x5053 = x5052
+x5052 = x5051
+x5051 = x5050
+x5050 = x5049
+x5049 = x5048
+x5048 = x5047
+x5047 = x5046
+x5046 = x5045
+x5045 = x5044
+x5044 = x5043
+x5043 = x5042
+x5042 = x5041
+x5041 = x5040
+x5040 = x5039
+x5039 = x5038
+x5038 = x5037
+x5037 = x5036
+x5036 = x5035
+x5035 = x5034
+x5034 = x5033
+x5033 = x5032
+x5032 = x5031
+x5031 = x5030
+x5030 = x5029
+x5029 = x5028
+x5028 = x5027
+x5027 = x5026
+x5026 = x5025
+x5025 = x5024
+x5024 = x5023
+x5023 = x5022
+x5022 = x5021
+x5021 = x5020
+x5020 = x5019
+x5019 = x5018
+x5018 = x5017
+x5017 = x5016
+x5016 = x5015
+x5015 = x5014
+x5014 = x5013
+x5013 = x5012
+x5012 = x5011
+x5011 = x5010
+x5010 = x5009
+x5009 = x5008
+x5008 = x5007
+x5007 = x5006
+x5006 = x5005
+x5005 = x5004
+x5004 = x5003
+x5003 = x5002
+x5002 = x5001
+x5001 = x5000
+x5000 = x4999
+x4999 = x4998
+x4998 = x4997
+x4997 = x4996
+x4996 = x4995
+x4995 = x4994
+x4994 = x4993
+x4993 = x4992
+x4992 = x4991
+x4991 = x4990
+x4990 = x4989
+x4989 = x4988
+x4988 = x4987
+x4987 = x4986
+x4986 = x4985
+x4985 = x4984
+x4984 = x4983
+x4983 = x4982
+x4982 = x4981
+x4981 = x4980
+x4980 = x4979
+x4979 = x4978
+x4978 = x4977
+x4977 = x4976
+x4976 = x4975
+x4975 = x4974
+x4974 = x4973
+x4973 = x4972
+x4972 = x4971
+x4971 = x4970
+x4970 = x4969
+x4969 = x4968
+x4968 = x4967
+x4967 = x4966
+x4966 = x4965
+x4965 = x4964
+x4964 = x4963
+x4963 = x4962
+x4962 = x4961
+x4961 = x4960
+x4960 = x4959
+x4959 = x4958
+x4958 = x4957
+x4957 = x4956
+x4956 = x4955
+x4955 = x4954
+x4954 = x4953
+x4953 = x4952
+x4952 = x4951
+x4951 = x4950
+x4950 = x4949
+x4949 = x4948
+x4948 = x4947
+x4947 = x4946
+x4946 = x4945
+x4945 = x4944
+x4944 = x4943
+x4943 = x4942
+x4942 = x4941
+x4941 = x4940
+x4940 = x4939
+x4939 = x4938
+x4938 = x4937
+x4937 = x4936
+x4936 = x4935
+x4935 = x4934
+x4934 = x4933
+x4933 = x4932
+x4932 = x4931
+x4931 = x4930
+x4930 = x4929
+x4929 = x4928
+x4928 = x4927
+x4927 = x4926
+x4926 = x4925
+x4925 = x4924
+x4924 = x4923
+x4923 = x4922
+x4922 = x4921
+x4921 = x4920
+x4920 = x4919
+x4919 = x4918
+x4918 = x4917
+x4917 = x4916
+x4916 = x4915
+x4915 = x4914
+x4914 = x4913
+x4913 = x4912
+x4912 = x4911
+x4911 = x4910
+x4910 = x4909
+x4909 = x4908
+x4908 = x4907
+x4907 = x4906
+x4906 = x4905
+x4905 = x4904
+x4904 = x4903
+x4903 = x4902
+x4902 = x4901
+x4901 = x4900
+x4900 = x4899
+x4899 = x4898
+x4898 = x4897
+x4897 = x4896
+x4896 = x4895
+x4895 = x4894
+x4894 = x4893
+x4893 = x4892
+x4892 = x4891
+x4891 = x4890
+x4890 = x4889
+x4889 = x4888
+x4888 = x4887
+x4887 = x4886
+x4886 = x4885
+x4885 = x4884
+x4884 = x4883
+x4883 = x4882
+x4882 = x4881
+x4881 = x4880
+x4880 = x4879
+x4879 = x4878
+x4878 = x4877
+x4877 = x4876
+x4876 = x4875
+x4875 = x4874
+x4874 = x4873
+x4873 = x4872
+x4872 = x4871
+x4871 = x4870
+x4870 = x4869
+x4869 = x4868
+x4868 = x4867
+x4867 = x4866
+x4866 = x4865
+x4865 = x4864
+x4864 = x4863
+x4863 = x4862
+x4862 = x4861
+x4861 = x4860
+x4860 = x4859
+x4859 = x4858
+x4858 = x4857
+x4857 = x4856
+x4856 = x4855
+x4855 = x4854
+x4854 = x4853
+x4853 = x4852
+x4852 = x4851
+x4851 = x4850
+x4850 = x4849
+x4849 = x4848
+x4848 = x4847
+x4847 = x4846
+x4846 = x4845
+x4845 = x4844
+x4844 = x4843
+x4843 = x4842
+x4842 = x4841
+x4841 = x4840
+x4840 = x4839
+x4839 = x4838
+x4838 = x4837
+x4837 = x4836
+x4836 = x4835
+x4835 = x4834
+x4834 = x4833
+x4833 = x4832
+x4832 = x4831
+x4831 = x4830
+x4830 = x4829
+x4829 = x4828
+x4828 = x4827
+x4827 = x4826
+x4826 = x4825
+x4825 = x4824
+x4824 = x4823
+x4823 = x4822
+x4822 = x4821
+x4821 = x4820
+x4820 = x4819
+x4819 = x4818
+x4818 = x4817
+x4817 = x4816
+x4816 = x4815
+x4815 = x4814
+x4814 = x4813
+x4813 = x4812
+x4812 = x4811
+x4811 = x4810
+x4810 = x4809
+x4809 = x4808
+x4808 = x4807
+x4807 = x4806
+x4806 = x4805
+x4805 = x4804
+x4804 = x4803
+x4803 = x4802
+x4802 = x4801
+x4801 = x4800
+x4800 = x4799
+x4799 = x4798
+x4798 = x4797
+x4797 = x4796
+x4796 = x4795
+x4795 = x4794
+x4794 = x4793
+x4793 = x4792
+x4792 = x4791
+x4791 = x4790
+x4790 = x4789
+x4789 = x4788
+x4788 = x4787
+x4787 = x4786
+x4786 = x4785
+x4785 = x4784
+x4784 = x4783
+x4783 = x4782
+x4782 = x4781
+x4781 = x4780
+x4780 = x4779
+x4779 = x4778
+x4778 = x4777
+x4777 = x4776
+x4776 = x4775
+x4775 = x4774
+x4774 = x4773
+x4773 = x4772
+x4772 = x4771
+x4771 = x4770
+x4770 = x4769
+x4769 = x4768
+x4768 = x4767
+x4767 = x4766
+x4766 = x4765
+x4765 = x4764
+x4764 = x4763
+x4763 = x4762
+x4762 = x4761
+x4761 = x4760
+x4760 = x4759
+x4759 = x4758
+x4758 = x4757
+x4757 = x4756
+x4756 = x4755
+x4755 = x4754
+x4754 = x4753
+x4753 = x4752
+x4752 = x4751
+x4751 = x4750
+x4750 = x4749
+x4749 = x4748
+x4748 = x4747
+x4747 = x4746
+x4746 = x4745
+x4745 = x4744
+x4744 = x4743
+x4743 = x4742
+x4742 = x4741
+x4741 = x4740
+x4740 = x4739
+x4739 = x4738
+x4738 = x4737
+x4737 = x4736
+x4736 = x4735
+x4735 = x4734
+x4734 = x4733
+x4733 = x4732
+x4732 = x4731
+x4731 = x4730
+x4730 = x4729
+x4729 = x4728
+x4728 = x4727
+x4727 = x4726
+x4726 = x4725
+x4725 = x4724
+x4724 = x4723
+x4723 = x4722
+x4722 = x4721
+x4721 = x4720
+x4720 = x4719
+x4719 = x4718
+x4718 = x4717
+x4717 = x4716
+x4716 = x4715
+x4715 = x4714
+x4714 = x4713
+x4713 = x4712
+x4712 = x4711
+x4711 = x4710
+x4710 = x4709
+x4709 = x4708
+x4708 = x4707
+x4707 = x4706
+x4706 = x4705
+x4705 = x4704
+x4704 = x4703
+x4703 = x4702
+x4702 = x4701
+x4701 = x4700
+x4700 = x4699
+x4699 = x4698
+x4698 = x4697
+x4697 = x4696
+x4696 = x4695
+x4695 = x4694
+x4694 = x4693
+x4693 = x4692
+x4692 = x4691
+x4691 = x4690
+x4690 = x4689
+x4689 = x4688
+x4688 = x4687
+x4687 = x4686
+x4686 = x4685
+x4685 = x4684
+x4684 = x4683
+x4683 = x4682
+x4682 = x4681
+x4681 = x4680
+x4680 = x4679
+x4679 = x4678
+x4678 = x4677
+x4677 = x4676
+x4676 = x4675
+x4675 = x4674
+x4674 = x4673
+x4673 = x4672
+x4672 = x4671
+x4671 = x4670
+x4670 = x4669
+x4669 = x4668
+x4668 = x4667
+x4667 = x4666
+x4666 = x4665
+x4665 = x4664
+x4664 = x4663
+x4663 = x4662
+x4662 = x4661
+x4661 = x4660
+x4660 = x4659
+x4659 = x4658
+x4658 = x4657
+x4657 = x4656
+x4656 = x4655
+x4655 = x4654
+x4654 = x4653
+x4653 = x4652
+x4652 = x4651
+x4651 = x4650
+x4650 = x4649
+x4649 = x4648
+x4648 = x4647
+x4647 = x4646
+x4646 = x4645
+x4645 = x4644
+x4644 = x4643
+x4643 = x4642
+x4642 = x4641
+x4641 = x4640
+x4640 = x4639
+x4639 = x4638
+x4638 = x4637
+x4637 = x4636
+x4636 = x4635
+x4635 = x4634
+x4634 = x4633
+x4633 = x4632
+x4632 = x4631
+x4631 = x4630
+x4630 = x4629
+x4629 = x4628
+x4628 = x4627
+x4627 = x4626
+x4626 = x4625
+x4625 = x4624
+x4624 = x4623
+x4623 = x4622
+x4622 = x4621
+x4621 = x4620
+x4620 = x4619
+x4619 = x4618
+x4618 = x4617
+x4617 = x4616
+x4616 = x4615
+x4615 = x4614
+x4614 = x4613
+x4613 = x4612
+x4612 = x4611
+x4611 = x4610
+x4610 = x4609
+x4609 = x4608
+x4608 = x4607
+x4607 = x4606
+x4606 = x4605
+x4605 = x4604
+x4604 = x4603
+x4603 = x4602
+x4602 = x4601
+x4601 = x4600
+x4600 = x4599
+x4599 = x4598
+x4598 = x4597
+x4597 = x4596
+x4596 = x4595
+x4595 = x4594
+x4594 = x4593
+x4593 = x4592
+x4592 = x4591
+x4591 = x4590
+x4590 = x4589
+x4589 = x4588
+x4588 = x4587
+x4587 = x4586
+x4586 = x4585
+x4585 = x4584
+x4584 = x4583
+x4583 = x4582
+x4582 = x4581
+x4581 = x4580
+x4580 = x4579
+x4579 = x4578
+x4578 = x4577
+x4577 = x4576
+x4576 = x4575
+x4575 = x4574
+x4574 = x4573
+x4573 = x4572
+x4572 = x4571
+x4571 = x4570
+x4570 = x4569
+x4569 = x4568
+x4568 = x4567
+x4567 = x4566
+x4566 = x4565
+x4565 = x4564
+x4564 = x4563
+x4563 = x4562
+x4562 = x4561
+x4561 = x4560
+x4560 = x4559
+x4559 = x4558
+x4558 = x4557
+x4557 = x4556
+x4556 = x4555
+x4555 = x4554
+x4554 = x4553
+x4553 = x4552
+x4552 = x4551
+x4551 = x4550
+x4550 = x4549
+x4549 = x4548
+x4548 = x4547
+x4547 = x4546
+x4546 = x4545
+x4545 = x4544
+x4544 = x4543
+x4543 = x4542
+x4542 = x4541
+x4541 = x4540
+x4540 = x4539
+x4539 = x4538
+x4538 = x4537
+x4537 = x4536
+x4536 = x4535
+x4535 = x4534
+x4534 = x4533
+x4533 = x4532
+x4532 = x4531
+x4531 = x4530
+x4530 = x4529
+x4529 = x4528
+x4528 = x4527
+x4527 = x4526
+x4526 = x4525
+x4525 = x4524
+x4524 = x4523
+x4523 = x4522
+x4522 = x4521
+x4521 = x4520
+x4520 = x4519
+x4519 = x4518
+x4518 = x4517
+x4517 = x4516
+x4516 = x4515
+x4515 = x4514
+x4514 = x4513
+x4513 = x4512
+x4512 = x4511
+x4511 = x4510
+x4510 = x4509
+x4509 = x4508
+x4508 = x4507
+x4507 = x4506
+x4506 = x4505
+x4505 = x4504
+x4504 = x4503
+x4503 = x4502
+x4502 = x4501
+x4501 = x4500
+x4500 = x4499
+x4499 = x4498
+x4498 = x4497
+x4497 = x4496
+x4496 = x4495
+x4495 = x4494
+x4494 = x4493
+x4493 = x4492
+x4492 = x4491
+x4491 = x4490
+x4490 = x4489
+x4489 = x4488
+x4488 = x4487
+x4487 = x4486
+x4486 = x4485
+x4485 = x4484
+x4484 = x4483
+x4483 = x4482
+x4482 = x4481
+x4481 = x4480
+x4480 = x4479
+x4479 = x4478
+x4478 = x4477
+x4477 = x4476
+x4476 = x4475
+x4475 = x4474
+x4474 = x4473
+x4473 = x4472
+x4472 = x4471
+x4471 = x4470
+x4470 = x4469
+x4469 = x4468
+x4468 = x4467
+x4467 = x4466
+x4466 = x4465
+x4465 = x4464
+x4464 = x4463
+x4463 = x4462
+x4462 = x4461
+x4461 = x4460
+x4460 = x4459
+x4459 = x4458
+x4458 = x4457
+x4457 = x4456
+x4456 = x4455
+x4455 = x4454
+x4454 = x4453
+x4453 = x4452
+x4452 = x4451
+x4451 = x4450
+x4450 = x4449
+x4449 = x4448
+x4448 = x4447
+x4447 = x4446
+x4446 = x4445
+x4445 = x4444
+x4444 = x4443
+x4443 = x4442
+x4442 = x4441
+x4441 = x4440
+x4440 = x4439
+x4439 = x4438
+x4438 = x4437
+x4437 = x4436
+x4436 = x4435
+x4435 = x4434
+x4434 = x4433
+x4433 = x4432
+x4432 = x4431
+x4431 = x4430
+x4430 = x4429
+x4429 = x4428
+x4428 = x4427
+x4427 = x4426
+x4426 = x4425
+x4425 = x4424
+x4424 = x4423
+x4423 = x4422
+x4422 = x4421
+x4421 = x4420
+x4420 = x4419
+x4419 = x4418
+x4418 = x4417
+x4417 = x4416
+x4416 = x4415
+x4415 = x4414
+x4414 = x4413
+x4413 = x4412
+x4412 = x4411
+x4411 = x4410
+x4410 = x4409
+x4409 = x4408
+x4408 = x4407
+x4407 = x4406
+x4406 = x4405
+x4405 = x4404
+x4404 = x4403
+x4403 = x4402
+x4402 = x4401
+x4401 = x4400
+x4400 = x4399
+x4399 = x4398
+x4398 = x4397
+x4397 = x4396
+x4396 = x4395
+x4395 = x4394
+x4394 = x4393
+x4393 = x4392
+x4392 = x4391
+x4391 = x4390
+x4390 = x4389
+x4389 = x4388
+x4388 = x4387
+x4387 = x4386
+x4386 = x4385
+x4385 = x4384
+x4384 = x4383
+x4383 = x4382
+x4382 = x4381
+x4381 = x4380
+x4380 = x4379
+x4379 = x4378
+x4378 = x4377
+x4377 = x4376
+x4376 = x4375
+x4375 = x4374
+x4374 = x4373
+x4373 = x4372
+x4372 = x4371
+x4371 = x4370
+x4370 = x4369
+x4369 = x4368
+x4368 = x4367
+x4367 = x4366
+x4366 = x4365
+x4365 = x4364
+x4364 = x4363
+x4363 = x4362
+x4362 = x4361
+x4361 = x4360
+x4360 = x4359
+x4359 = x4358
+x4358 = x4357
+x4357 = x4356
+x4356 = x4355
+x4355 = x4354
+x4354 = x4353
+x4353 = x4352
+x4352 = x4351
+x4351 = x4350
+x4350 = x4349
+x4349 = x4348
+x4348 = x4347
+x4347 = x4346
+x4346 = x4345
+x4345 = x4344
+x4344 = x4343
+x4343 = x4342
+x4342 = x4341
+x4341 = x4340
+x4340 = x4339
+x4339 = x4338
+x4338 = x4337
+x4337 = x4336
+x4336 = x4335
+x4335 = x4334
+x4334 = x4333
+x4333 = x4332
+x4332 = x4331
+x4331 = x4330
+x4330 = x4329
+x4329 = x4328
+x4328 = x4327
+x4327 = x4326
+x4326 = x4325
+x4325 = x4324
+x4324 = x4323
+x4323 = x4322
+x4322 = x4321
+x4321 = x4320
+x4320 = x4319
+x4319 = x4318
+x4318 = x4317
+x4317 = x4316
+x4316 = x4315
+x4315 = x4314
+x4314 = x4313
+x4313 = x4312
+x4312 = x4311
+x4311 = x4310
+x4310 = x4309
+x4309 = x4308
+x4308 = x4307
+x4307 = x4306
+x4306 = x4305
+x4305 = x4304
+x4304 = x4303
+x4303 = x4302
+x4302 = x4301
+x4301 = x4300
+x4300 = x4299
+x4299 = x4298
+x4298 = x4297
+x4297 = x4296
+x4296 = x4295
+x4295 = x4294
+x4294 = x4293
+x4293 = x4292
+x4292 = x4291
+x4291 = x4290
+x4290 = x4289
+x4289 = x4288
+x4288 = x4287
+x4287 = x4286
+x4286 = x4285
+x4285 = x4284
+x4284 = x4283
+x4283 = x4282
+x4282 = x4281
+x4281 = x4280
+x4280 = x4279
+x4279 = x4278
+x4278 = x4277
+x4277 = x4276
+x4276 = x4275
+x4275 = x4274
+x4274 = x4273
+x4273 = x4272
+x4272 = x4271
+x4271 = x4270
+x4270 = x4269
+x4269 = x4268
+x4268 = x4267
+x4267 = x4266
+x4266 = x4265
+x4265 = x4264
+x4264 = x4263
+x4263 = x4262
+x4262 = x4261
+x4261 = x4260
+x4260 = x4259
+x4259 = x4258
+x4258 = x4257
+x4257 = x4256
+x4256 = x4255
+x4255 = x4254
+x4254 = x4253
+x4253 = x4252
+x4252 = x4251
+x4251 = x4250
+x4250 = x4249
+x4249 = x4248
+x4248 = x4247
+x4247 = x4246
+x4246 = x4245
+x4245 = x4244
+x4244 = x4243
+x4243 = x4242
+x4242 = x4241
+x4241 = x4240
+x4240 = x4239
+x4239 = x4238
+x4238 = x4237
+x4237 = x4236
+x4236 = x4235
+x4235 = x4234
+x4234 = x4233
+x4233 = x4232
+x4232 = x4231
+x4231 = x4230
+x4230 = x4229
+x4229 = x4228
+x4228 = x4227
+x4227 = x4226
+x4226 = x4225
+x4225 = x4224
+x4224 = x4223
+x4223 = x4222
+x4222 = x4221
+x4221 = x4220
+x4220 = x4219
+x4219 = x4218
+x4218 = x4217
+x4217 = x4216
+x4216 = x4215
+x4215 = x4214
+x4214 = x4213
+x4213 = x4212
+x4212 = x4211
+x4211 = x4210
+x4210 = x4209
+x4209 = x4208
+x4208 = x4207
+x4207 = x4206
+x4206 = x4205
+x4205 = x4204
+x4204 = x4203
+x4203 = x4202
+x4202 = x4201
+x4201 = x4200
+x4200 = x4199
+x4199 = x4198
+x4198 = x4197
+x4197 = x4196
+x4196 = x4195
+x4195 = x4194
+x4194 = x4193
+x4193 = x4192
+x4192 = x4191
+x4191 = x4190
+x4190 = x4189
+x4189 = x4188
+x4188 = x4187
+x4187 = x4186
+x4186 = x4185
+x4185 = x4184
+x4184 = x4183
+x4183 = x4182
+x4182 = x4181
+x4181 = x4180
+x4180 = x4179
+x4179 = x4178
+x4178 = x4177
+x4177 = x4176
+x4176 = x4175
+x4175 = x4174
+x4174 = x4173
+x4173 = x4172
+x4172 = x4171
+x4171 = x4170
+x4170 = x4169
+x4169 = x4168
+x4168 = x4167
+x4167 = x4166
+x4166 = x4165
+x4165 = x4164
+x4164 = x4163
+x4163 = x4162
+x4162 = x4161
+x4161 = x4160
+x4160 = x4159
+x4159 = x4158
+x4158 = x4157
+x4157 = x4156
+x4156 = x4155
+x4155 = x4154
+x4154 = x4153
+x4153 = x4152
+x4152 = x4151
+x4151 = x4150
+x4150 = x4149
+x4149 = x4148
+x4148 = x4147
+x4147 = x4146
+x4146 = x4145
+x4145 = x4144
+x4144 = x4143
+x4143 = x4142
+x4142 = x4141
+x4141 = x4140
+x4140 = x4139
+x4139 = x4138
+x4138 = x4137
+x4137 = x4136
+x4136 = x4135
+x4135 = x4134
+x4134 = x4133
+x4133 = x4132
+x4132 = x4131
+x4131 = x4130
+x4130 = x4129
+x4129 = x4128
+x4128 = x4127
+x4127 = x4126
+x4126 = x4125
+x4125 = x4124
+x4124 = x4123
+x4123 = x4122
+x4122 = x4121
+x4121 = x4120
+x4120 = x4119
+x4119 = x4118
+x4118 = x4117
+x4117 = x4116
+x4116 = x4115
+x4115 = x4114
+x4114 = x4113
+x4113 = x4112
+x4112 = x4111
+x4111 = x4110
+x4110 = x4109
+x4109 = x4108
+x4108 = x4107
+x4107 = x4106
+x4106 = x4105
+x4105 = x4104
+x4104 = x4103
+x4103 = x4102
+x4102 = x4101
+x4101 = x4100
+x4100 = x4099
+x4099 = x4098
+x4098 = x4097
+x4097 = x4096
+x4096 = x4095
+x4095 = x4094
+x4094 = x4093
+x4093 = x4092
+x4092 = x4091
+x4091 = x4090
+x4090 = x4089
+x4089 = x4088
+x4088 = x4087
+x4087 = x4086
+x4086 = x4085
+x4085 = x4084
+x4084 = x4083
+x4083 = x4082
+x4082 = x4081
+x4081 = x4080
+x4080 = x4079
+x4079 = x4078
+x4078 = x4077
+x4077 = x4076
+x4076 = x4075
+x4075 = x4074
+x4074 = x4073
+x4073 = x4072
+x4072 = x4071
+x4071 = x4070
+x4070 = x4069
+x4069 = x4068
+x4068 = x4067
+x4067 = x4066
+x4066 = x4065
+x4065 = x4064
+x4064 = x4063
+x4063 = x4062
+x4062 = x4061
+x4061 = x4060
+x4060 = x4059
+x4059 = x4058
+x4058 = x4057
+x4057 = x4056
+x4056 = x4055
+x4055 = x4054
+x4054 = x4053
+x4053 = x4052
+x4052 = x4051
+x4051 = x4050
+x4050 = x4049
+x4049 = x4048
+x4048 = x4047
+x4047 = x4046
+x4046 = x4045
+x4045 = x4044
+x4044 = x4043
+x4043 = x4042
+x4042 = x4041
+x4041 = x4040
+x4040 = x4039
+x4039 = x4038
+x4038 = x4037
+x4037 = x4036
+x4036 = x4035
+x4035 = x4034
+x4034 = x4033
+x4033 = x4032
+x4032 = x4031
+x4031 = x4030
+x4030 = x4029
+x4029 = x4028
+x4028 = x4027
+x4027 = x4026
+x4026 = x4025
+x4025 = x4024
+x4024 = x4023
+x4023 = x4022
+x4022 = x4021
+x4021 = x4020
+x4020 = x4019
+x4019 = x4018
+x4018 = x4017
+x4017 = x4016
+x4016 = x4015
+x4015 = x4014
+x4014 = x4013
+x4013 = x4012
+x4012 = x4011
+x4011 = x4010
+x4010 = x4009
+x4009 = x4008
+x4008 = x4007
+x4007 = x4006
+x4006 = x4005
+x4005 = x4004
+x4004 = x4003
+x4003 = x4002
+x4002 = x4001
+x4001 = x4000
+x4000 = x3999
+x3999 = x3998
+x3998 = x3997
+x3997 = x3996
+x3996 = x3995
+x3995 = x3994
+x3994 = x3993
+x3993 = x3992
+x3992 = x3991
+x3991 = x3990
+x3990 = x3989
+x3989 = x3988
+x3988 = x3987
+x3987 = x3986
+x3986 = x3985
+x3985 = x3984
+x3984 = x3983
+x3983 = x3982
+x3982 = x3981
+x3981 = x3980
+x3980 = x3979
+x3979 = x3978
+x3978 = x3977
+x3977 = x3976
+x3976 = x3975
+x3975 = x3974
+x3974 = x3973
+x3973 = x3972
+x3972 = x3971
+x3971 = x3970
+x3970 = x3969
+x3969 = x3968
+x3968 = x3967
+x3967 = x3966
+x3966 = x3965
+x3965 = x3964
+x3964 = x3963
+x3963 = x3962
+x3962 = x3961
+x3961 = x3960
+x3960 = x3959
+x3959 = x3958
+x3958 = x3957
+x3957 = x3956
+x3956 = x3955
+x3955 = x3954
+x3954 = x3953
+x3953 = x3952
+x3952 = x3951
+x3951 = x3950
+x3950 = x3949
+x3949 = x3948
+x3948 = x3947
+x3947 = x3946
+x3946 = x3945
+x3945 = x3944
+x3944 = x3943
+x3943 = x3942
+x3942 = x3941
+x3941 = x3940
+x3940 = x3939
+x3939 = x3938
+x3938 = x3937
+x3937 = x3936
+x3936 = x3935
+x3935 = x3934
+x3934 = x3933
+x3933 = x3932
+x3932 = x3931
+x3931 = x3930
+x3930 = x3929
+x3929 = x3928
+x3928 = x3927
+x3927 = x3926
+x3926 = x3925
+x3925 = x3924
+x3924 = x3923
+x3923 = x3922
+x3922 = x3921
+x3921 = x3920
+x3920 = x3919
+x3919 = x3918
+x3918 = x3917
+x3917 = x3916
+x3916 = x3915
+x3915 = x3914
+x3914 = x3913
+x3913 = x3912
+x3912 = x3911
+x3911 = x3910
+x3910 = x3909
+x3909 = x3908
+x3908 = x3907
+x3907 = x3906
+x3906 = x3905
+x3905 = x3904
+x3904 = x3903
+x3903 = x3902
+x3902 = x3901
+x3901 = x3900
+x3900 = x3899
+x3899 = x3898
+x3898 = x3897
+x3897 = x3896
+x3896 = x3895
+x3895 = x3894
+x3894 = x3893
+x3893 = x3892
+x3892 = x3891
+x3891 = x3890
+x3890 = x3889
+x3889 = x3888
+x3888 = x3887
+x3887 = x3886
+x3886 = x3885
+x3885 = x3884
+x3884 = x3883
+x3883 = x3882
+x3882 = x3881
+x3881 = x3880
+x3880 = x3879
+x3879 = x3878
+x3878 = x3877
+x3877 = x3876
+x3876 = x3875
+x3875 = x3874
+x3874 = x3873
+x3873 = x3872
+x3872 = x3871
+x3871 = x3870
+x3870 = x3869
+x3869 = x3868
+x3868 = x3867
+x3867 = x3866
+x3866 = x3865
+x3865 = x3864
+x3864 = x3863
+x3863 = x3862
+x3862 = x3861
+x3861 = x3860
+x3860 = x3859
+x3859 = x3858
+x3858 = x3857
+x3857 = x3856
+x3856 = x3855
+x3855 = x3854
+x3854 = x3853
+x3853 = x3852
+x3852 = x3851
+x3851 = x3850
+x3850 = x3849
+x3849 = x3848
+x3848 = x3847
+x3847 = x3846
+x3846 = x3845
+x3845 = x3844
+x3844 = x3843
+x3843 = x3842
+x3842 = x3841
+x3841 = x3840
+x3840 = x3839
+x3839 = x3838
+x3838 = x3837
+x3837 = x3836
+x3836 = x3835
+x3835 = x3834
+x3834 = x3833
+x3833 = x3832
+x3832 = x3831
+x3831 = x3830
+x3830 = x3829
+x3829 = x3828
+x3828 = x3827
+x3827 = x3826
+x3826 = x3825
+x3825 = x3824
+x3824 = x3823
+x3823 = x3822
+x3822 = x3821
+x3821 = x3820
+x3820 = x3819
+x3819 = x3818
+x3818 = x3817
+x3817 = x3816
+x3816 = x3815
+x3815 = x3814
+x3814 = x3813
+x3813 = x3812
+x3812 = x3811
+x3811 = x3810
+x3810 = x3809
+x3809 = x3808
+x3808 = x3807
+x3807 = x3806
+x3806 = x3805
+x3805 = x3804
+x3804 = x3803
+x3803 = x3802
+x3802 = x3801
+x3801 = x3800
+x3800 = x3799
+x3799 = x3798
+x3798 = x3797
+x3797 = x3796
+x3796 = x3795
+x3795 = x3794
+x3794 = x3793
+x3793 = x3792
+x3792 = x3791
+x3791 = x3790
+x3790 = x3789
+x3789 = x3788
+x3788 = x3787
+x3787 = x3786
+x3786 = x3785
+x3785 = x3784
+x3784 = x3783
+x3783 = x3782
+x3782 = x3781
+x3781 = x3780
+x3780 = x3779
+x3779 = x3778
+x3778 = x3777
+x3777 = x3776
+x3776 = x3775
+x3775 = x3774
+x3774 = x3773
+x3773 = x3772
+x3772 = x3771
+x3771 = x3770
+x3770 = x3769
+x3769 = x3768
+x3768 = x3767
+x3767 = x3766
+x3766 = x3765
+x3765 = x3764
+x3764 = x3763
+x3763 = x3762
+x3762 = x3761
+x3761 = x3760
+x3760 = x3759
+x3759 = x3758
+x3758 = x3757
+x3757 = x3756
+x3756 = x3755
+x3755 = x3754
+x3754 = x3753
+x3753 = x3752
+x3752 = x3751
+x3751 = x3750
+x3750 = x3749
+x3749 = x3748
+x3748 = x3747
+x3747 = x3746
+x3746 = x3745
+x3745 = x3744
+x3744 = x3743
+x3743 = x3742
+x3742 = x3741
+x3741 = x3740
+x3740 = x3739
+x3739 = x3738
+x3738 = x3737
+x3737 = x3736
+x3736 = x3735
+x3735 = x3734
+x3734 = x3733
+x3733 = x3732
+x3732 = x3731
+x3731 = x3730
+x3730 = x3729
+x3729 = x3728
+x3728 = x3727
+x3727 = x3726
+x3726 = x3725
+x3725 = x3724
+x3724 = x3723
+x3723 = x3722
+x3722 = x3721
+x3721 = x3720
+x3720 = x3719
+x3719 = x3718
+x3718 = x3717
+x3717 = x3716
+x3716 = x3715
+x3715 = x3714
+x3714 = x3713
+x3713 = x3712
+x3712 = x3711
+x3711 = x3710
+x3710 = x3709
+x3709 = x3708
+x3708 = x3707
+x3707 = x3706
+x3706 = x3705
+x3705 = x3704
+x3704 = x3703
+x3703 = x3702
+x3702 = x3701
+x3701 = x3700
+x3700 = x3699
+x3699 = x3698
+x3698 = x3697
+x3697 = x3696
+x3696 = x3695
+x3695 = x3694
+x3694 = x3693
+x3693 = x3692
+x3692 = x3691
+x3691 = x3690
+x3690 = x3689
+x3689 = x3688
+x3688 = x3687
+x3687 = x3686
+x3686 = x3685
+x3685 = x3684
+x3684 = x3683
+x3683 = x3682
+x3682 = x3681
+x3681 = x3680
+x3680 = x3679
+x3679 = x3678
+x3678 = x3677
+x3677 = x3676
+x3676 = x3675
+x3675 = x3674
+x3674 = x3673
+x3673 = x3672
+x3672 = x3671
+x3671 = x3670
+x3670 = x3669
+x3669 = x3668
+x3668 = x3667
+x3667 = x3666
+x3666 = x3665
+x3665 = x3664
+x3664 = x3663
+x3663 = x3662
+x3662 = x3661
+x3661 = x3660
+x3660 = x3659
+x3659 = x3658
+x3658 = x3657
+x3657 = x3656
+x3656 = x3655
+x3655 = x3654
+x3654 = x3653
+x3653 = x3652
+x3652 = x3651
+x3651 = x3650
+x3650 = x3649
+x3649 = x3648
+x3648 = x3647
+x3647 = x3646
+x3646 = x3645
+x3645 = x3644
+x3644 = x3643
+x3643 = x3642
+x3642 = x3641
+x3641 = x3640
+x3640 = x3639
+x3639 = x3638
+x3638 = x3637
+x3637 = x3636
+x3636 = x3635
+x3635 = x3634
+x3634 = x3633
+x3633 = x3632
+x3632 = x3631
+x3631 = x3630
+x3630 = x3629
+x3629 = x3628
+x3628 = x3627
+x3627 = x3626
+x3626 = x3625
+x3625 = x3624
+x3624 = x3623
+x3623 = x3622
+x3622 = x3621
+x3621 = x3620
+x3620 = x3619
+x3619 = x3618
+x3618 = x3617
+x3617 = x3616
+x3616 = x3615
+x3615 = x3614
+x3614 = x3613
+x3613 = x3612
+x3612 = x3611
+x3611 = x3610
+x3610 = x3609
+x3609 = x3608
+x3608 = x3607
+x3607 = x3606
+x3606 = x3605
+x3605 = x3604
+x3604 = x3603
+x3603 = x3602
+x3602 = x3601
+x3601 = x3600
+x3600 = x3599
+x3599 = x3598
+x3598 = x3597
+x3597 = x3596
+x3596 = x3595
+x3595 = x3594
+x3594 = x3593
+x3593 = x3592
+x3592 = x3591
+x3591 = x3590
+x3590 = x3589
+x3589 = x3588
+x3588 = x3587
+x3587 = x3586
+x3586 = x3585
+x3585 = x3584
+x3584 = x3583
+x3583 = x3582
+x3582 = x3581
+x3581 = x3580
+x3580 = x3579
+x3579 = x3578
+x3578 = x3577
+x3577 = x3576
+x3576 = x3575
+x3575 = x3574
+x3574 = x3573
+x3573 = x3572
+x3572 = x3571
+x3571 = x3570
+x3570 = x3569
+x3569 = x3568
+x3568 = x3567
+x3567 = x3566
+x3566 = x3565
+x3565 = x3564
+x3564 = x3563
+x3563 = x3562
+x3562 = x3561
+x3561 = x3560
+x3560 = x3559
+x3559 = x3558
+x3558 = x3557
+x3557 = x3556
+x3556 = x3555
+x3555 = x3554
+x3554 = x3553
+x3553 = x3552
+x3552 = x3551
+x3551 = x3550
+x3550 = x3549
+x3549 = x3548
+x3548 = x3547
+x3547 = x3546
+x3546 = x3545
+x3545 = x3544
+x3544 = x3543
+x3543 = x3542
+x3542 = x3541
+x3541 = x3540
+x3540 = x3539
+x3539 = x3538
+x3538 = x3537
+x3537 = x3536
+x3536 = x3535
+x3535 = x3534
+x3534 = x3533
+x3533 = x3532
+x3532 = x3531
+x3531 = x3530
+x3530 = x3529
+x3529 = x3528
+x3528 = x3527
+x3527 = x3526
+x3526 = x3525
+x3525 = x3524
+x3524 = x3523
+x3523 = x3522
+x3522 = x3521
+x3521 = x3520
+x3520 = x3519
+x3519 = x3518
+x3518 = x3517
+x3517 = x3516
+x3516 = x3515
+x3515 = x3514
+x3514 = x3513
+x3513 = x3512
+x3512 = x3511
+x3511 = x3510
+x3510 = x3509
+x3509 = x3508
+x3508 = x3507
+x3507 = x3506
+x3506 = x3505
+x3505 = x3504
+x3504 = x3503
+x3503 = x3502
+x3502 = x3501
+x3501 = x3500
+x3500 = x3499
+x3499 = x3498
+x3498 = x3497
+x3497 = x3496
+x3496 = x3495
+x3495 = x3494
+x3494 = x3493
+x3493 = x3492
+x3492 = x3491
+x3491 = x3490
+x3490 = x3489
+x3489 = x3488
+x3488 = x3487
+x3487 = x3486
+x3486 = x3485
+x3485 = x3484
+x3484 = x3483
+x3483 = x3482
+x3482 = x3481
+x3481 = x3480
+x3480 = x3479
+x3479 = x3478
+x3478 = x3477
+x3477 = x3476
+x3476 = x3475
+x3475 = x3474
+x3474 = x3473
+x3473 = x3472
+x3472 = x3471
+x3471 = x3470
+x3470 = x3469
+x3469 = x3468
+x3468 = x3467
+x3467 = x3466
+x3466 = x3465
+x3465 = x3464
+x3464 = x3463
+x3463 = x3462
+x3462 = x3461
+x3461 = x3460
+x3460 = x3459
+x3459 = x3458
+x3458 = x3457
+x3457 = x3456
+x3456 = x3455
+x3455 = x3454
+x3454 = x3453
+x3453 = x3452
+x3452 = x3451
+x3451 = x3450
+x3450 = x3449
+x3449 = x3448
+x3448 = x3447
+x3447 = x3446
+x3446 = x3445
+x3445 = x3444
+x3444 = x3443
+x3443 = x3442
+x3442 = x3441
+x3441 = x3440
+x3440 = x3439
+x3439 = x3438
+x3438 = x3437
+x3437 = x3436
+x3436 = x3435
+x3435 = x3434
+x3434 = x3433
+x3433 = x3432
+x3432 = x3431
+x3431 = x3430
+x3430 = x3429
+x3429 = x3428
+x3428 = x3427
+x3427 = x3426
+x3426 = x3425
+x3425 = x3424
+x3424 = x3423
+x3423 = x3422
+x3422 = x3421
+x3421 = x3420
+x3420 = x3419
+x3419 = x3418
+x3418 = x3417
+x3417 = x3416
+x3416 = x3415
+x3415 = x3414
+x3414 = x3413
+x3413 = x3412
+x3412 = x3411
+x3411 = x3410
+x3410 = x3409
+x3409 = x3408
+x3408 = x3407
+x3407 = x3406
+x3406 = x3405
+x3405 = x3404
+x3404 = x3403
+x3403 = x3402
+x3402 = x3401
+x3401 = x3400
+x3400 = x3399
+x3399 = x3398
+x3398 = x3397
+x3397 = x3396
+x3396 = x3395
+x3395 = x3394
+x3394 = x3393
+x3393 = x3392
+x3392 = x3391
+x3391 = x3390
+x3390 = x3389
+x3389 = x3388
+x3388 = x3387
+x3387 = x3386
+x3386 = x3385
+x3385 = x3384
+x3384 = x3383
+x3383 = x3382
+x3382 = x3381
+x3381 = x3380
+x3380 = x3379
+x3379 = x3378
+x3378 = x3377
+x3377 = x3376
+x3376 = x3375
+x3375 = x3374
+x3374 = x3373
+x3373 = x3372
+x3372 = x3371
+x3371 = x3370
+x3370 = x3369
+x3369 = x3368
+x3368 = x3367
+x3367 = x3366
+x3366 = x3365
+x3365 = x3364
+x3364 = x3363
+x3363 = x3362
+x3362 = x3361
+x3361 = x3360
+x3360 = x3359
+x3359 = x3358
+x3358 = x3357
+x3357 = x3356
+x3356 = x3355
+x3355 = x3354
+x3354 = x3353
+x3353 = x3352
+x3352 = x3351
+x3351 = x3350
+x3350 = x3349
+x3349 = x3348
+x3348 = x3347
+x3347 = x3346
+x3346 = x3345
+x3345 = x3344
+x3344 = x3343
+x3343 = x3342
+x3342 = x3341
+x3341 = x3340
+x3340 = x3339
+x3339 = x3338
+x3338 = x3337
+x3337 = x3336
+x3336 = x3335
+x3335 = x3334
+x3334 = x3333
+x3333 = x3332
+x3332 = x3331
+x3331 = x3330
+x3330 = x3329
+x3329 = x3328
+x3328 = x3327
+x3327 = x3326
+x3326 = x3325
+x3325 = x3324
+x3324 = x3323
+x3323 = x3322
+x3322 = x3321
+x3321 = x3320
+x3320 = x3319
+x3319 = x3318
+x3318 = x3317
+x3317 = x3316
+x3316 = x3315
+x3315 = x3314
+x3314 = x3313
+x3313 = x3312
+x3312 = x3311
+x3311 = x3310
+x3310 = x3309
+x3309 = x3308
+x3308 = x3307
+x3307 = x3306
+x3306 = x3305
+x3305 = x3304
+x3304 = x3303
+x3303 = x3302
+x3302 = x3301
+x3301 = x3300
+x3300 = x3299
+x3299 = x3298
+x3298 = x3297
+x3297 = x3296
+x3296 = x3295
+x3295 = x3294
+x3294 = x3293
+x3293 = x3292
+x3292 = x3291
+x3291 = x3290
+x3290 = x3289
+x3289 = x3288
+x3288 = x3287
+x3287 = x3286
+x3286 = x3285
+x3285 = x3284
+x3284 = x3283
+x3283 = x3282
+x3282 = x3281
+x3281 = x3280
+x3280 = x3279
+x3279 = x3278
+x3278 = x3277
+x3277 = x3276
+x3276 = x3275
+x3275 = x3274
+x3274 = x3273
+x3273 = x3272
+x3272 = x3271
+x3271 = x3270
+x3270 = x3269
+x3269 = x3268
+x3268 = x3267
+x3267 = x3266
+x3266 = x3265
+x3265 = x3264
+x3264 = x3263
+x3263 = x3262
+x3262 = x3261
+x3261 = x3260
+x3260 = x3259
+x3259 = x3258
+x3258 = x3257
+x3257 = x3256
+x3256 = x3255
+x3255 = x3254
+x3254 = x3253
+x3253 = x3252
+x3252 = x3251
+x3251 = x3250
+x3250 = x3249
+x3249 = x3248
+x3248 = x3247
+x3247 = x3246
+x3246 = x3245
+x3245 = x3244
+x3244 = x3243
+x3243 = x3242
+x3242 = x3241
+x3241 = x3240
+x3240 = x3239
+x3239 = x3238
+x3238 = x3237
+x3237 = x3236
+x3236 = x3235
+x3235 = x3234
+x3234 = x3233
+x3233 = x3232
+x3232 = x3231
+x3231 = x3230
+x3230 = x3229
+x3229 = x3228
+x3228 = x3227
+x3227 = x3226
+x3226 = x3225
+x3225 = x3224
+x3224 = x3223
+x3223 = x3222
+x3222 = x3221
+x3221 = x3220
+x3220 = x3219
+x3219 = x3218
+x3218 = x3217
+x3217 = x3216
+x3216 = x3215
+x3215 = x3214
+x3214 = x3213
+x3213 = x3212
+x3212 = x3211
+x3211 = x3210
+x3210 = x3209
+x3209 = x3208
+x3208 = x3207
+x3207 = x3206
+x3206 = x3205
+x3205 = x3204
+x3204 = x3203
+x3203 = x3202
+x3202 = x3201
+x3201 = x3200
+x3200 = x3199
+x3199 = x3198
+x3198 = x3197
+x3197 = x3196
+x3196 = x3195
+x3195 = x3194
+x3194 = x3193
+x3193 = x3192
+x3192 = x3191
+x3191 = x3190
+x3190 = x3189
+x3189 = x3188
+x3188 = x3187
+x3187 = x3186
+x3186 = x3185
+x3185 = x3184
+x3184 = x3183
+x3183 = x3182
+x3182 = x3181
+x3181 = x3180
+x3180 = x3179
+x3179 = x3178
+x3178 = x3177
+x3177 = x3176
+x3176 = x3175
+x3175 = x3174
+x3174 = x3173
+x3173 = x3172
+x3172 = x3171
+x3171 = x3170
+x3170 = x3169
+x3169 = x3168
+x3168 = x3167
+x3167 = x3166
+x3166 = x3165
+x3165 = x3164
+x3164 = x3163
+x3163 = x3162
+x3162 = x3161
+x3161 = x3160
+x3160 = x3159
+x3159 = x3158
+x3158 = x3157
+x3157 = x3156
+x3156 = x3155
+x3155 = x3154
+x3154 = x3153
+x3153 = x3152
+x3152 = x3151
+x3151 = x3150
+x3150 = x3149
+x3149 = x3148
+x3148 = x3147
+x3147 = x3146
+x3146 = x3145
+x3145 = x3144
+x3144 = x3143
+x3143 = x3142
+x3142 = x3141
+x3141 = x3140
+x3140 = x3139
+x3139 = x3138
+x3138 = x3137
+x3137 = x3136
+x3136 = x3135
+x3135 = x3134
+x3134 = x3133
+x3133 = x3132
+x3132 = x3131
+x3131 = x3130
+x3130 = x3129
+x3129 = x3128
+x3128 = x3127
+x3127 = x3126
+x3126 = x3125
+x3125 = x3124
+x3124 = x3123
+x3123 = x3122
+x3122 = x3121
+x3121 = x3120
+x3120 = x3119
+x3119 = x3118
+x3118 = x3117
+x3117 = x3116
+x3116 = x3115
+x3115 = x3114
+x3114 = x3113
+x3113 = x3112
+x3112 = x3111
+x3111 = x3110
+x3110 = x3109
+x3109 = x3108
+x3108 = x3107
+x3107 = x3106
+x3106 = x3105
+x3105 = x3104
+x3104 = x3103
+x3103 = x3102
+x3102 = x3101
+x3101 = x3100
+x3100 = x3099
+x3099 = x3098
+x3098 = x3097
+x3097 = x3096
+x3096 = x3095
+x3095 = x3094
+x3094 = x3093
+x3093 = x3092
+x3092 = x3091
+x3091 = x3090
+x3090 = x3089
+x3089 = x3088
+x3088 = x3087
+x3087 = x3086
+x3086 = x3085
+x3085 = x3084
+x3084 = x3083
+x3083 = x3082
+x3082 = x3081
+x3081 = x3080
+x3080 = x3079
+x3079 = x3078
+x3078 = x3077
+x3077 = x3076
+x3076 = x3075
+x3075 = x3074
+x3074 = x3073
+x3073 = x3072
+x3072 = x3071
+x3071 = x3070
+x3070 = x3069
+x3069 = x3068
+x3068 = x3067
+x3067 = x3066
+x3066 = x3065
+x3065 = x3064
+x3064 = x3063
+x3063 = x3062
+x3062 = x3061
+x3061 = x3060
+x3060 = x3059
+x3059 = x3058
+x3058 = x3057
+x3057 = x3056
+x3056 = x3055
+x3055 = x3054
+x3054 = x3053
+x3053 = x3052
+x3052 = x3051
+x3051 = x3050
+x3050 = x3049
+x3049 = x3048
+x3048 = x3047
+x3047 = x3046
+x3046 = x3045
+x3045 = x3044
+x3044 = x3043
+x3043 = x3042
+x3042 = x3041
+x3041 = x3040
+x3040 = x3039
+x3039 = x3038
+x3038 = x3037
+x3037 = x3036
+x3036 = x3035
+x3035 = x3034
+x3034 = x3033
+x3033 = x3032
+x3032 = x3031
+x3031 = x3030
+x3030 = x3029
+x3029 = x3028
+x3028 = x3027
+x3027 = x3026
+x3026 = x3025
+x3025 = x3024
+x3024 = x3023
+x3023 = x3022
+x3022 = x3021
+x3021 = x3020
+x3020 = x3019
+x3019 = x3018
+x3018 = x3017
+x3017 = x3016
+x3016 = x3015
+x3015 = x3014
+x3014 = x3013
+x3013 = x3012
+x3012 = x3011
+x3011 = x3010
+x3010 = x3009
+x3009 = x3008
+x3008 = x3007
+x3007 = x3006
+x3006 = x3005
+x3005 = x3004
+x3004 = x3003
+x3003 = x3002
+x3002 = x3001
+x3001 = x3000
+x3000 = x2999
+x2999 = x2998
+x2998 = x2997
+x2997 = x2996
+x2996 = x2995
+x2995 = x2994
+x2994 = x2993
+x2993 = x2992
+x2992 = x2991
+x2991 = x2990
+x2990 = x2989
+x2989 = x2988
+x2988 = x2987
+x2987 = x2986
+x2986 = x2985
+x2985 = x2984
+x2984 = x2983
+x2983 = x2982
+x2982 = x2981
+x2981 = x2980
+x2980 = x2979
+x2979 = x2978
+x2978 = x2977
+x2977 = x2976
+x2976 = x2975
+x2975 = x2974
+x2974 = x2973
+x2973 = x2972
+x2972 = x2971
+x2971 = x2970
+x2970 = x2969
+x2969 = x2968
+x2968 = x2967
+x2967 = x2966
+x2966 = x2965
+x2965 = x2964
+x2964 = x2963
+x2963 = x2962
+x2962 = x2961
+x2961 = x2960
+x2960 = x2959
+x2959 = x2958
+x2958 = x2957
+x2957 = x2956
+x2956 = x2955
+x2955 = x2954
+x2954 = x2953
+x2953 = x2952
+x2952 = x2951
+x2951 = x2950
+x2950 = x2949
+x2949 = x2948
+x2948 = x2947
+x2947 = x2946
+x2946 = x2945
+x2945 = x2944
+x2944 = x2943
+x2943 = x2942
+x2942 = x2941
+x2941 = x2940
+x2940 = x2939
+x2939 = x2938
+x2938 = x2937
+x2937 = x2936
+x2936 = x2935
+x2935 = x2934
+x2934 = x2933
+x2933 = x2932
+x2932 = x2931
+x2931 = x2930
+x2930 = x2929
+x2929 = x2928
+x2928 = x2927
+x2927 = x2926
+x2926 = x2925
+x2925 = x2924
+x2924 = x2923
+x2923 = x2922
+x2922 = x2921
+x2921 = x2920
+x2920 = x2919
+x2919 = x2918
+x2918 = x2917
+x2917 = x2916
+x2916 = x2915
+x2915 = x2914
+x2914 = x2913
+x2913 = x2912
+x2912 = x2911
+x2911 = x2910
+x2910 = x2909
+x2909 = x2908
+x2908 = x2907
+x2907 = x2906
+x2906 = x2905
+x2905 = x2904
+x2904 = x2903
+x2903 = x2902
+x2902 = x2901
+x2901 = x2900
+x2900 = x2899
+x2899 = x2898
+x2898 = x2897
+x2897 = x2896
+x2896 = x2895
+x2895 = x2894
+x2894 = x2893
+x2893 = x2892
+x2892 = x2891
+x2891 = x2890
+x2890 = x2889
+x2889 = x2888
+x2888 = x2887
+x2887 = x2886
+x2886 = x2885
+x2885 = x2884
+x2884 = x2883
+x2883 = x2882
+x2882 = x2881
+x2881 = x2880
+x2880 = x2879
+x2879 = x2878
+x2878 = x2877
+x2877 = x2876
+x2876 = x2875
+x2875 = x2874
+x2874 = x2873
+x2873 = x2872
+x2872 = x2871
+x2871 = x2870
+x2870 = x2869
+x2869 = x2868
+x2868 = x2867
+x2867 = x2866
+x2866 = x2865
+x2865 = x2864
+x2864 = x2863
+x2863 = x2862
+x2862 = x2861
+x2861 = x2860
+x2860 = x2859
+x2859 = x2858
+x2858 = x2857
+x2857 = x2856
+x2856 = x2855
+x2855 = x2854
+x2854 = x2853
+x2853 = x2852
+x2852 = x2851
+x2851 = x2850
+x2850 = x2849
+x2849 = x2848
+x2848 = x2847
+x2847 = x2846
+x2846 = x2845
+x2845 = x2844
+x2844 = x2843
+x2843 = x2842
+x2842 = x2841
+x2841 = x2840
+x2840 = x2839
+x2839 = x2838
+x2838 = x2837
+x2837 = x2836
+x2836 = x2835
+x2835 = x2834
+x2834 = x2833
+x2833 = x2832
+x2832 = x2831
+x2831 = x2830
+x2830 = x2829
+x2829 = x2828
+x2828 = x2827
+x2827 = x2826
+x2826 = x2825
+x2825 = x2824
+x2824 = x2823
+x2823 = x2822
+x2822 = x2821
+x2821 = x2820
+x2820 = x2819
+x2819 = x2818
+x2818 = x2817
+x2817 = x2816
+x2816 = x2815
+x2815 = x2814
+x2814 = x2813
+x2813 = x2812
+x2812 = x2811
+x2811 = x2810
+x2810 = x2809
+x2809 = x2808
+x2808 = x2807
+x2807 = x2806
+x2806 = x2805
+x2805 = x2804
+x2804 = x2803
+x2803 = x2802
+x2802 = x2801
+x2801 = x2800
+x2800 = x2799
+x2799 = x2798
+x2798 = x2797
+x2797 = x2796
+x2796 = x2795
+x2795 = x2794
+x2794 = x2793
+x2793 = x2792
+x2792 = x2791
+x2791 = x2790
+x2790 = x2789
+x2789 = x2788
+x2788 = x2787
+x2787 = x2786
+x2786 = x2785
+x2785 = x2784
+x2784 = x2783
+x2783 = x2782
+x2782 = x2781
+x2781 = x2780
+x2780 = x2779
+x2779 = x2778
+x2778 = x2777
+x2777 = x2776
+x2776 = x2775
+x2775 = x2774
+x2774 = x2773
+x2773 = x2772
+x2772 = x2771
+x2771 = x2770
+x2770 = x2769
+x2769 = x2768
+x2768 = x2767
+x2767 = x2766
+x2766 = x2765
+x2765 = x2764
+x2764 = x2763
+x2763 = x2762
+x2762 = x2761
+x2761 = x2760
+x2760 = x2759
+x2759 = x2758
+x2758 = x2757
+x2757 = x2756
+x2756 = x2755
+x2755 = x2754
+x2754 = x2753
+x2753 = x2752
+x2752 = x2751
+x2751 = x2750
+x2750 = x2749
+x2749 = x2748
+x2748 = x2747
+x2747 = x2746
+x2746 = x2745
+x2745 = x2744
+x2744 = x2743
+x2743 = x2742
+x2742 = x2741
+x2741 = x2740
+x2740 = x2739
+x2739 = x2738
+x2738 = x2737
+x2737 = x2736
+x2736 = x2735
+x2735 = x2734
+x2734 = x2733
+x2733 = x2732
+x2732 = x2731
+x2731 = x2730
+x2730 = x2729
+x2729 = x2728
+x2728 = x2727
+x2727 = x2726
+x2726 = x2725
+x2725 = x2724
+x2724 = x2723
+x2723 = x2722
+x2722 = x2721
+x2721 = x2720
+x2720 = x2719
+x2719 = x2718
+x2718 = x2717
+x2717 = x2716
+x2716 = x2715
+x2715 = x2714
+x2714 = x2713
+x2713 = x2712
+x2712 = x2711
+x2711 = x2710
+x2710 = x2709
+x2709 = x2708
+x2708 = x2707
+x2707 = x2706
+x2706 = x2705
+x2705 = x2704
+x2704 = x2703
+x2703 = x2702
+x2702 = x2701
+x2701 = x2700
+x2700 = x2699
+x2699 = x2698
+x2698 = x2697
+x2697 = x2696
+x2696 = x2695
+x2695 = x2694
+x2694 = x2693
+x2693 = x2692
+x2692 = x2691
+x2691 = x2690
+x2690 = x2689
+x2689 = x2688
+x2688 = x2687
+x2687 = x2686
+x2686 = x2685
+x2685 = x2684
+x2684 = x2683
+x2683 = x2682
+x2682 = x2681
+x2681 = x2680
+x2680 = x2679
+x2679 = x2678
+x2678 = x2677
+x2677 = x2676
+x2676 = x2675
+x2675 = x2674
+x2674 = x2673
+x2673 = x2672
+x2672 = x2671
+x2671 = x2670
+x2670 = x2669
+x2669 = x2668
+x2668 = x2667
+x2667 = x2666
+x2666 = x2665
+x2665 = x2664
+x2664 = x2663
+x2663 = x2662
+x2662 = x2661
+x2661 = x2660
+x2660 = x2659
+x2659 = x2658
+x2658 = x2657
+x2657 = x2656
+x2656 = x2655
+x2655 = x2654
+x2654 = x2653
+x2653 = x2652
+x2652 = x2651
+x2651 = x2650
+x2650 = x2649
+x2649 = x2648
+x2648 = x2647
+x2647 = x2646
+x2646 = x2645
+x2645 = x2644
+x2644 = x2643
+x2643 = x2642
+x2642 = x2641
+x2641 = x2640
+x2640 = x2639
+x2639 = x2638
+x2638 = x2637
+x2637 = x2636
+x2636 = x2635
+x2635 = x2634
+x2634 = x2633
+x2633 = x2632
+x2632 = x2631
+x2631 = x2630
+x2630 = x2629
+x2629 = x2628
+x2628 = x2627
+x2627 = x2626
+x2626 = x2625
+x2625 = x2624
+x2624 = x2623
+x2623 = x2622
+x2622 = x2621
+x2621 = x2620
+x2620 = x2619
+x2619 = x2618
+x2618 = x2617
+x2617 = x2616
+x2616 = x2615
+x2615 = x2614
+x2614 = x2613
+x2613 = x2612
+x2612 = x2611
+x2611 = x2610
+x2610 = x2609
+x2609 = x2608
+x2608 = x2607
+x2607 = x2606
+x2606 = x2605
+x2605 = x2604
+x2604 = x2603
+x2603 = x2602
+x2602 = x2601
+x2601 = x2600
+x2600 = x2599
+x2599 = x2598
+x2598 = x2597
+x2597 = x2596
+x2596 = x2595
+x2595 = x2594
+x2594 = x2593
+x2593 = x2592
+x2592 = x2591
+x2591 = x2590
+x2590 = x2589
+x2589 = x2588
+x2588 = x2587
+x2587 = x2586
+x2586 = x2585
+x2585 = x2584
+x2584 = x2583
+x2583 = x2582
+x2582 = x2581
+x2581 = x2580
+x2580 = x2579
+x2579 = x2578
+x2578 = x2577
+x2577 = x2576
+x2576 = x2575
+x2575 = x2574
+x2574 = x2573
+x2573 = x2572
+x2572 = x2571
+x2571 = x2570
+x2570 = x2569
+x2569 = x2568
+x2568 = x2567
+x2567 = x2566
+x2566 = x2565
+x2565 = x2564
+x2564 = x2563
+x2563 = x2562
+x2562 = x2561
+x2561 = x2560
+x2560 = x2559
+x2559 = x2558
+x2558 = x2557
+x2557 = x2556
+x2556 = x2555
+x2555 = x2554
+x2554 = x2553
+x2553 = x2552
+x2552 = x2551
+x2551 = x2550
+x2550 = x2549
+x2549 = x2548
+x2548 = x2547
+x2547 = x2546
+x2546 = x2545
+x2545 = x2544
+x2544 = x2543
+x2543 = x2542
+x2542 = x2541
+x2541 = x2540
+x2540 = x2539
+x2539 = x2538
+x2538 = x2537
+x2537 = x2536
+x2536 = x2535
+x2535 = x2534
+x2534 = x2533
+x2533 = x2532
+x2532 = x2531
+x2531 = x2530
+x2530 = x2529
+x2529 = x2528
+x2528 = x2527
+x2527 = x2526
+x2526 = x2525
+x2525 = x2524
+x2524 = x2523
+x2523 = x2522
+x2522 = x2521
+x2521 = x2520
+x2520 = x2519
+x2519 = x2518
+x2518 = x2517
+x2517 = x2516
+x2516 = x2515
+x2515 = x2514
+x2514 = x2513
+x2513 = x2512
+x2512 = x2511
+x2511 = x2510
+x2510 = x2509
+x2509 = x2508
+x2508 = x2507
+x2507 = x2506
+x2506 = x2505
+x2505 = x2504
+x2504 = x2503
+x2503 = x2502
+x2502 = x2501
+x2501 = x2500
+x2500 = x2499
+x2499 = x2498
+x2498 = x2497
+x2497 = x2496
+x2496 = x2495
+x2495 = x2494
+x2494 = x2493
+x2493 = x2492
+x2492 = x2491
+x2491 = x2490
+x2490 = x2489
+x2489 = x2488
+x2488 = x2487
+x2487 = x2486
+x2486 = x2485
+x2485 = x2484
+x2484 = x2483
+x2483 = x2482
+x2482 = x2481
+x2481 = x2480
+x2480 = x2479
+x2479 = x2478
+x2478 = x2477
+x2477 = x2476
+x2476 = x2475
+x2475 = x2474
+x2474 = x2473
+x2473 = x2472
+x2472 = x2471
+x2471 = x2470
+x2470 = x2469
+x2469 = x2468
+x2468 = x2467
+x2467 = x2466
+x2466 = x2465
+x2465 = x2464
+x2464 = x2463
+x2463 = x2462
+x2462 = x2461
+x2461 = x2460
+x2460 = x2459
+x2459 = x2458
+x2458 = x2457
+x2457 = x2456
+x2456 = x2455
+x2455 = x2454
+x2454 = x2453
+x2453 = x2452
+x2452 = x2451
+x2451 = x2450
+x2450 = x2449
+x2449 = x2448
+x2448 = x2447
+x2447 = x2446
+x2446 = x2445
+x2445 = x2444
+x2444 = x2443
+x2443 = x2442
+x2442 = x2441
+x2441 = x2440
+x2440 = x2439
+x2439 = x2438
+x2438 = x2437
+x2437 = x2436
+x2436 = x2435
+x2435 = x2434
+x2434 = x2433
+x2433 = x2432
+x2432 = x2431
+x2431 = x2430
+x2430 = x2429
+x2429 = x2428
+x2428 = x2427
+x2427 = x2426
+x2426 = x2425
+x2425 = x2424
+x2424 = x2423
+x2423 = x2422
+x2422 = x2421
+x2421 = x2420
+x2420 = x2419
+x2419 = x2418
+x2418 = x2417
+x2417 = x2416
+x2416 = x2415
+x2415 = x2414
+x2414 = x2413
+x2413 = x2412
+x2412 = x2411
+x2411 = x2410
+x2410 = x2409
+x2409 = x2408
+x2408 = x2407
+x2407 = x2406
+x2406 = x2405
+x2405 = x2404
+x2404 = x2403
+x2403 = x2402
+x2402 = x2401
+x2401 = x2400
+x2400 = x2399
+x2399 = x2398
+x2398 = x2397
+x2397 = x2396
+x2396 = x2395
+x2395 = x2394
+x2394 = x2393
+x2393 = x2392
+x2392 = x2391
+x2391 = x2390
+x2390 = x2389
+x2389 = x2388
+x2388 = x2387
+x2387 = x2386
+x2386 = x2385
+x2385 = x2384
+x2384 = x2383
+x2383 = x2382
+x2382 = x2381
+x2381 = x2380
+x2380 = x2379
+x2379 = x2378
+x2378 = x2377
+x2377 = x2376
+x2376 = x2375
+x2375 = x2374
+x2374 = x2373
+x2373 = x2372
+x2372 = x2371
+x2371 = x2370
+x2370 = x2369
+x2369 = x2368
+x2368 = x2367
+x2367 = x2366
+x2366 = x2365
+x2365 = x2364
+x2364 = x2363
+x2363 = x2362
+x2362 = x2361
+x2361 = x2360
+x2360 = x2359
+x2359 = x2358
+x2358 = x2357
+x2357 = x2356
+x2356 = x2355
+x2355 = x2354
+x2354 = x2353
+x2353 = x2352
+x2352 = x2351
+x2351 = x2350
+x2350 = x2349
+x2349 = x2348
+x2348 = x2347
+x2347 = x2346
+x2346 = x2345
+x2345 = x2344
+x2344 = x2343
+x2343 = x2342
+x2342 = x2341
+x2341 = x2340
+x2340 = x2339
+x2339 = x2338
+x2338 = x2337
+x2337 = x2336
+x2336 = x2335
+x2335 = x2334
+x2334 = x2333
+x2333 = x2332
+x2332 = x2331
+x2331 = x2330
+x2330 = x2329
+x2329 = x2328
+x2328 = x2327
+x2327 = x2326
+x2326 = x2325
+x2325 = x2324
+x2324 = x2323
+x2323 = x2322
+x2322 = x2321
+x2321 = x2320
+x2320 = x2319
+x2319 = x2318
+x2318 = x2317
+x2317 = x2316
+x2316 = x2315
+x2315 = x2314
+x2314 = x2313
+x2313 = x2312
+x2312 = x2311
+x2311 = x2310
+x2310 = x2309
+x2309 = x2308
+x2308 = x2307
+x2307 = x2306
+x2306 = x2305
+x2305 = x2304
+x2304 = x2303
+x2303 = x2302
+x2302 = x2301
+x2301 = x2300
+x2300 = x2299
+x2299 = x2298
+x2298 = x2297
+x2297 = x2296
+x2296 = x2295
+x2295 = x2294
+x2294 = x2293
+x2293 = x2292
+x2292 = x2291
+x2291 = x2290
+x2290 = x2289
+x2289 = x2288
+x2288 = x2287
+x2287 = x2286
+x2286 = x2285
+x2285 = x2284
+x2284 = x2283
+x2283 = x2282
+x2282 = x2281
+x2281 = x2280
+x2280 = x2279
+x2279 = x2278
+x2278 = x2277
+x2277 = x2276
+x2276 = x2275
+x2275 = x2274
+x2274 = x2273
+x2273 = x2272
+x2272 = x2271
+x2271 = x2270
+x2270 = x2269
+x2269 = x2268
+x2268 = x2267
+x2267 = x2266
+x2266 = x2265
+x2265 = x2264
+x2264 = x2263
+x2263 = x2262
+x2262 = x2261
+x2261 = x2260
+x2260 = x2259
+x2259 = x2258
+x2258 = x2257
+x2257 = x2256
+x2256 = x2255
+x2255 = x2254
+x2254 = x2253
+x2253 = x2252
+x2252 = x2251
+x2251 = x2250
+x2250 = x2249
+x2249 = x2248
+x2248 = x2247
+x2247 = x2246
+x2246 = x2245
+x2245 = x2244
+x2244 = x2243
+x2243 = x2242
+x2242 = x2241
+x2241 = x2240
+x2240 = x2239
+x2239 = x2238
+x2238 = x2237
+x2237 = x2236
+x2236 = x2235
+x2235 = x2234
+x2234 = x2233
+x2233 = x2232
+x2232 = x2231
+x2231 = x2230
+x2230 = x2229
+x2229 = x2228
+x2228 = x2227
+x2227 = x2226
+x2226 = x2225
+x2225 = x2224
+x2224 = x2223
+x2223 = x2222
+x2222 = x2221
+x2221 = x2220
+x2220 = x2219
+x2219 = x2218
+x2218 = x2217
+x2217 = x2216
+x2216 = x2215
+x2215 = x2214
+x2214 = x2213
+x2213 = x2212
+x2212 = x2211
+x2211 = x2210
+x2210 = x2209
+x2209 = x2208
+x2208 = x2207
+x2207 = x2206
+x2206 = x2205
+x2205 = x2204
+x2204 = x2203
+x2203 = x2202
+x2202 = x2201
+x2201 = x2200
+x2200 = x2199
+x2199 = x2198
+x2198 = x2197
+x2197 = x2196
+x2196 = x2195
+x2195 = x2194
+x2194 = x2193
+x2193 = x2192
+x2192 = x2191
+x2191 = x2190
+x2190 = x2189
+x2189 = x2188
+x2188 = x2187
+x2187 = x2186
+x2186 = x2185
+x2185 = x2184
+x2184 = x2183
+x2183 = x2182
+x2182 = x2181
+x2181 = x2180
+x2180 = x2179
+x2179 = x2178
+x2178 = x2177
+x2177 = x2176
+x2176 = x2175
+x2175 = x2174
+x2174 = x2173
+x2173 = x2172
+x2172 = x2171
+x2171 = x2170
+x2170 = x2169
+x2169 = x2168
+x2168 = x2167
+x2167 = x2166
+x2166 = x2165
+x2165 = x2164
+x2164 = x2163
+x2163 = x2162
+x2162 = x2161
+x2161 = x2160
+x2160 = x2159
+x2159 = x2158
+x2158 = x2157
+x2157 = x2156
+x2156 = x2155
+x2155 = x2154
+x2154 = x2153
+x2153 = x2152
+x2152 = x2151
+x2151 = x2150
+x2150 = x2149
+x2149 = x2148
+x2148 = x2147
+x2147 = x2146
+x2146 = x2145
+x2145 = x2144
+x2144 = x2143
+x2143 = x2142
+x2142 = x2141
+x2141 = x2140
+x2140 = x2139
+x2139 = x2138
+x2138 = x2137
+x2137 = x2136
+x2136 = x2135
+x2135 = x2134
+x2134 = x2133
+x2133 = x2132
+x2132 = x2131
+x2131 = x2130
+x2130 = x2129
+x2129 = x2128
+x2128 = x2127
+x2127 = x2126
+x2126 = x2125
+x2125 = x2124
+x2124 = x2123
+x2123 = x2122
+x2122 = x2121
+x2121 = x2120
+x2120 = x2119
+x2119 = x2118
+x2118 = x2117
+x2117 = x2116
+x2116 = x2115
+x2115 = x2114
+x2114 = x2113
+x2113 = x2112
+x2112 = x2111
+x2111 = x2110
+x2110 = x2109
+x2109 = x2108
+x2108 = x2107
+x2107 = x2106
+x2106 = x2105
+x2105 = x2104
+x2104 = x2103
+x2103 = x2102
+x2102 = x2101
+x2101 = x2100
+x2100 = x2099
+x2099 = x2098
+x2098 = x2097
+x2097 = x2096
+x2096 = x2095
+x2095 = x2094
+x2094 = x2093
+x2093 = x2092
+x2092 = x2091
+x2091 = x2090
+x2090 = x2089
+x2089 = x2088
+x2088 = x2087
+x2087 = x2086
+x2086 = x2085
+x2085 = x2084
+x2084 = x2083
+x2083 = x2082
+x2082 = x2081
+x2081 = x2080
+x2080 = x2079
+x2079 = x2078
+x2078 = x2077
+x2077 = x2076
+x2076 = x2075
+x2075 = x2074
+x2074 = x2073
+x2073 = x2072
+x2072 = x2071
+x2071 = x2070
+x2070 = x2069
+x2069 = x2068
+x2068 = x2067
+x2067 = x2066
+x2066 = x2065
+x2065 = x2064
+x2064 = x2063
+x2063 = x2062
+x2062 = x2061
+x2061 = x2060
+x2060 = x2059
+x2059 = x2058
+x2058 = x2057
+x2057 = x2056
+x2056 = x2055
+x2055 = x2054
+x2054 = x2053
+x2053 = x2052
+x2052 = x2051
+x2051 = x2050
+x2050 = x2049
+x2049 = x2048
+x2048 = x2047
+x2047 = x2046
+x2046 = x2045
+x2045 = x2044
+x2044 = x2043
+x2043 = x2042
+x2042 = x2041
+x2041 = x2040
+x2040 = x2039
+x2039 = x2038
+x2038 = x2037
+x2037 = x2036
+x2036 = x2035
+x2035 = x2034
+x2034 = x2033
+x2033 = x2032
+x2032 = x2031
+x2031 = x2030
+x2030 = x2029
+x2029 = x2028
+x2028 = x2027
+x2027 = x2026
+x2026 = x2025
+x2025 = x2024
+x2024 = x2023
+x2023 = x2022
+x2022 = x2021
+x2021 = x2020
+x2020 = x2019
+x2019 = x2018
+x2018 = x2017
+x2017 = x2016
+x2016 = x2015
+x2015 = x2014
+x2014 = x2013
+x2013 = x2012
+x2012 = x2011
+x2011 = x2010
+x2010 = x2009
+x2009 = x2008
+x2008 = x2007
+x2007 = x2006
+x2006 = x2005
+x2005 = x2004
+x2004 = x2003
+x2003 = x2002
+x2002 = x2001
+x2001 = x2000
+x2000 = x1999
+x1999 = x1998
+x1998 = x1997
+x1997 = x1996
+x1996 = x1995
+x1995 = x1994
+x1994 = x1993
+x1993 = x1992
+x1992 = x1991
+x1991 = x1990
+x1990 = x1989
+x1989 = x1988
+x1988 = x1987
+x1987 = x1986
+x1986 = x1985
+x1985 = x1984
+x1984 = x1983
+x1983 = x1982
+x1982 = x1981
+x1981 = x1980
+x1980 = x1979
+x1979 = x1978
+x1978 = x1977
+x1977 = x1976
+x1976 = x1975
+x1975 = x1974
+x1974 = x1973
+x1973 = x1972
+x1972 = x1971
+x1971 = x1970
+x1970 = x1969
+x1969 = x1968
+x1968 = x1967
+x1967 = x1966
+x1966 = x1965
+x1965 = x1964
+x1964 = x1963
+x1963 = x1962
+x1962 = x1961
+x1961 = x1960
+x1960 = x1959
+x1959 = x1958
+x1958 = x1957
+x1957 = x1956
+x1956 = x1955
+x1955 = x1954
+x1954 = x1953
+x1953 = x1952
+x1952 = x1951
+x1951 = x1950
+x1950 = x1949
+x1949 = x1948
+x1948 = x1947
+x1947 = x1946
+x1946 = x1945
+x1945 = x1944
+x1944 = x1943
+x1943 = x1942
+x1942 = x1941
+x1941 = x1940
+x1940 = x1939
+x1939 = x1938
+x1938 = x1937
+x1937 = x1936
+x1936 = x1935
+x1935 = x1934
+x1934 = x1933
+x1933 = x1932
+x1932 = x1931
+x1931 = x1930
+x1930 = x1929
+x1929 = x1928
+x1928 = x1927
+x1927 = x1926
+x1926 = x1925
+x1925 = x1924
+x1924 = x1923
+x1923 = x1922
+x1922 = x1921
+x1921 = x1920
+x1920 = x1919
+x1919 = x1918
+x1918 = x1917
+x1917 = x1916
+x1916 = x1915
+x1915 = x1914
+x1914 = x1913
+x1913 = x1912
+x1912 = x1911
+x1911 = x1910
+x1910 = x1909
+x1909 = x1908
+x1908 = x1907
+x1907 = x1906
+x1906 = x1905
+x1905 = x1904
+x1904 = x1903
+x1903 = x1902
+x1902 = x1901
+x1901 = x1900
+x1900 = x1899
+x1899 = x1898
+x1898 = x1897
+x1897 = x1896
+x1896 = x1895
+x1895 = x1894
+x1894 = x1893
+x1893 = x1892
+x1892 = x1891
+x1891 = x1890
+x1890 = x1889
+x1889 = x1888
+x1888 = x1887
+x1887 = x1886
+x1886 = x1885
+x1885 = x1884
+x1884 = x1883
+x1883 = x1882
+x1882 = x1881
+x1881 = x1880
+x1880 = x1879
+x1879 = x1878
+x1878 = x1877
+x1877 = x1876
+x1876 = x1875
+x1875 = x1874
+x1874 = x1873
+x1873 = x1872
+x1872 = x1871
+x1871 = x1870
+x1870 = x1869
+x1869 = x1868
+x1868 = x1867
+x1867 = x1866
+x1866 = x1865
+x1865 = x1864
+x1864 = x1863
+x1863 = x1862
+x1862 = x1861
+x1861 = x1860
+x1860 = x1859
+x1859 = x1858
+x1858 = x1857
+x1857 = x1856
+x1856 = x1855
+x1855 = x1854
+x1854 = x1853
+x1853 = x1852
+x1852 = x1851
+x1851 = x1850
+x1850 = x1849
+x1849 = x1848
+x1848 = x1847
+x1847 = x1846
+x1846 = x1845
+x1845 = x1844
+x1844 = x1843
+x1843 = x1842
+x1842 = x1841
+x1841 = x1840
+x1840 = x1839
+x1839 = x1838
+x1838 = x1837
+x1837 = x1836
+x1836 = x1835
+x1835 = x1834
+x1834 = x1833
+x1833 = x1832
+x1832 = x1831
+x1831 = x1830
+x1830 = x1829
+x1829 = x1828
+x1828 = x1827
+x1827 = x1826
+x1826 = x1825
+x1825 = x1824
+x1824 = x1823
+x1823 = x1822
+x1822 = x1821
+x1821 = x1820
+x1820 = x1819
+x1819 = x1818
+x1818 = x1817
+x1817 = x1816
+x1816 = x1815
+x1815 = x1814
+x1814 = x1813
+x1813 = x1812
+x1812 = x1811
+x1811 = x1810
+x1810 = x1809
+x1809 = x1808
+x1808 = x1807
+x1807 = x1806
+x1806 = x1805
+x1805 = x1804
+x1804 = x1803
+x1803 = x1802
+x1802 = x1801
+x1801 = x1800
+x1800 = x1799
+x1799 = x1798
+x1798 = x1797
+x1797 = x1796
+x1796 = x1795
+x1795 = x1794
+x1794 = x1793
+x1793 = x1792
+x1792 = x1791
+x1791 = x1790
+x1790 = x1789
+x1789 = x1788
+x1788 = x1787
+x1787 = x1786
+x1786 = x1785
+x1785 = x1784
+x1784 = x1783
+x1783 = x1782
+x1782 = x1781
+x1781 = x1780
+x1780 = x1779
+x1779 = x1778
+x1778 = x1777
+x1777 = x1776
+x1776 = x1775
+x1775 = x1774
+x1774 = x1773
+x1773 = x1772
+x1772 = x1771
+x1771 = x1770
+x1770 = x1769
+x1769 = x1768
+x1768 = x1767
+x1767 = x1766
+x1766 = x1765
+x1765 = x1764
+x1764 = x1763
+x1763 = x1762
+x1762 = x1761
+x1761 = x1760
+x1760 = x1759
+x1759 = x1758
+x1758 = x1757
+x1757 = x1756
+x1756 = x1755
+x1755 = x1754
+x1754 = x1753
+x1753 = x1752
+x1752 = x1751
+x1751 = x1750
+x1750 = x1749
+x1749 = x1748
+x1748 = x1747
+x1747 = x1746
+x1746 = x1745
+x1745 = x1744
+x1744 = x1743
+x1743 = x1742
+x1742 = x1741
+x1741 = x1740
+x1740 = x1739
+x1739 = x1738
+x1738 = x1737
+x1737 = x1736
+x1736 = x1735
+x1735 = x1734
+x1734 = x1733
+x1733 = x1732
+x1732 = x1731
+x1731 = x1730
+x1730 = x1729
+x1729 = x1728
+x1728 = x1727
+x1727 = x1726
+x1726 = x1725
+x1725 = x1724
+x1724 = x1723
+x1723 = x1722
+x1722 = x1721
+x1721 = x1720
+x1720 = x1719
+x1719 = x1718
+x1718 = x1717
+x1717 = x1716
+x1716 = x1715
+x1715 = x1714
+x1714 = x1713
+x1713 = x1712
+x1712 = x1711
+x1711 = x1710
+x1710 = x1709
+x1709 = x1708
+x1708 = x1707
+x1707 = x1706
+x1706 = x1705
+x1705 = x1704
+x1704 = x1703
+x1703 = x1702
+x1702 = x1701
+x1701 = x1700
+x1700 = x1699
+x1699 = x1698
+x1698 = x1697
+x1697 = x1696
+x1696 = x1695
+x1695 = x1694
+x1694 = x1693
+x1693 = x1692
+x1692 = x1691
+x1691 = x1690
+x1690 = x1689
+x1689 = x1688
+x1688 = x1687
+x1687 = x1686
+x1686 = x1685
+x1685 = x1684
+x1684 = x1683
+x1683 = x1682
+x1682 = x1681
+x1681 = x1680
+x1680 = x1679
+x1679 = x1678
+x1678 = x1677
+x1677 = x1676
+x1676 = x1675
+x1675 = x1674
+x1674 = x1673
+x1673 = x1672
+x1672 = x1671
+x1671 = x1670
+x1670 = x1669
+x1669 = x1668
+x1668 = x1667
+x1667 = x1666
+x1666 = x1665
+x1665 = x1664
+x1664 = x1663
+x1663 = x1662
+x1662 = x1661
+x1661 = x1660
+x1660 = x1659
+x1659 = x1658
+x1658 = x1657
+x1657 = x1656
+x1656 = x1655
+x1655 = x1654
+x1654 = x1653
+x1653 = x1652
+x1652 = x1651
+x1651 = x1650
+x1650 = x1649
+x1649 = x1648
+x1648 = x1647
+x1647 = x1646
+x1646 = x1645
+x1645 = x1644
+x1644 = x1643
+x1643 = x1642
+x1642 = x1641
+x1641 = x1640
+x1640 = x1639
+x1639 = x1638
+x1638 = x1637
+x1637 = x1636
+x1636 = x1635
+x1635 = x1634
+x1634 = x1633
+x1633 = x1632
+x1632 = x1631
+x1631 = x1630
+x1630 = x1629
+x1629 = x1628
+x1628 = x1627
+x1627 = x1626
+x1626 = x1625
+x1625 = x1624
+x1624 = x1623
+x1623 = x1622
+x1622 = x1621
+x1621 = x1620
+x1620 = x1619
+x1619 = x1618
+x1618 = x1617
+x1617 = x1616
+x1616 = x1615
+x1615 = x1614
+x1614 = x1613
+x1613 = x1612
+x1612 = x1611
+x1611 = x1610
+x1610 = x1609
+x1609 = x1608
+x1608 = x1607
+x1607 = x1606
+x1606 = x1605
+x1605 = x1604
+x1604 = x1603
+x1603 = x1602
+x1602 = x1601
+x1601 = x1600
+x1600 = x1599
+x1599 = x1598
+x1598 = x1597
+x1597 = x1596
+x1596 = x1595
+x1595 = x1594
+x1594 = x1593
+x1593 = x1592
+x1592 = x1591
+x1591 = x1590
+x1590 = x1589
+x1589 = x1588
+x1588 = x1587
+x1587 = x1586
+x1586 = x1585
+x1585 = x1584
+x1584 = x1583
+x1583 = x1582
+x1582 = x1581
+x1581 = x1580
+x1580 = x1579
+x1579 = x1578
+x1578 = x1577
+x1577 = x1576
+x1576 = x1575
+x1575 = x1574
+x1574 = x1573
+x1573 = x1572
+x1572 = x1571
+x1571 = x1570
+x1570 = x1569
+x1569 = x1568
+x1568 = x1567
+x1567 = x1566
+x1566 = x1565
+x1565 = x1564
+x1564 = x1563
+x1563 = x1562
+x1562 = x1561
+x1561 = x1560
+x1560 = x1559
+x1559 = x1558
+x1558 = x1557
+x1557 = x1556
+x1556 = x1555
+x1555 = x1554
+x1554 = x1553
+x1553 = x1552
+x1552 = x1551
+x1551 = x1550
+x1550 = x1549
+x1549 = x1548
+x1548 = x1547
+x1547 = x1546
+x1546 = x1545
+x1545 = x1544
+x1544 = x1543
+x1543 = x1542
+x1542 = x1541
+x1541 = x1540
+x1540 = x1539
+x1539 = x1538
+x1538 = x1537
+x1537 = x1536
+x1536 = x1535
+x1535 = x1534
+x1534 = x1533
+x1533 = x1532
+x1532 = x1531
+x1531 = x1530
+x1530 = x1529
+x1529 = x1528
+x1528 = x1527
+x1527 = x1526
+x1526 = x1525
+x1525 = x1524
+x1524 = x1523
+x1523 = x1522
+x1522 = x1521
+x1521 = x1520
+x1520 = x1519
+x1519 = x1518
+x1518 = x1517
+x1517 = x1516
+x1516 = x1515
+x1515 = x1514
+x1514 = x1513
+x1513 = x1512
+x1512 = x1511
+x1511 = x1510
+x1510 = x1509
+x1509 = x1508
+x1508 = x1507
+x1507 = x1506
+x1506 = x1505
+x1505 = x1504
+x1504 = x1503
+x1503 = x1502
+x1502 = x1501
+x1501 = x1500
+x1500 = x1499
+x1499 = x1498
+x1498 = x1497
+x1497 = x1496
+x1496 = x1495
+x1495 = x1494
+x1494 = x1493
+x1493 = x1492
+x1492 = x1491
+x1491 = x1490
+x1490 = x1489
+x1489 = x1488
+x1488 = x1487
+x1487 = x1486
+x1486 = x1485
+x1485 = x1484
+x1484 = x1483
+x1483 = x1482
+x1482 = x1481
+x1481 = x1480
+x1480 = x1479
+x1479 = x1478
+x1478 = x1477
+x1477 = x1476
+x1476 = x1475
+x1475 = x1474
+x1474 = x1473
+x1473 = x1472
+x1472 = x1471
+x1471 = x1470
+x1470 = x1469
+x1469 = x1468
+x1468 = x1467
+x1467 = x1466
+x1466 = x1465
+x1465 = x1464
+x1464 = x1463
+x1463 = x1462
+x1462 = x1461
+x1461 = x1460
+x1460 = x1459
+x1459 = x1458
+x1458 = x1457
+x1457 = x1456
+x1456 = x1455
+x1455 = x1454
+x1454 = x1453
+x1453 = x1452
+x1452 = x1451
+x1451 = x1450
+x1450 = x1449
+x1449 = x1448
+x1448 = x1447
+x1447 = x1446
+x1446 = x1445
+x1445 = x1444
+x1444 = x1443
+x1443 = x1442
+x1442 = x1441
+x1441 = x1440
+x1440 = x1439
+x1439 = x1438
+x1438 = x1437
+x1437 = x1436
+x1436 = x1435
+x1435 = x1434
+x1434 = x1433
+x1433 = x1432
+x1432 = x1431
+x1431 = x1430
+x1430 = x1429
+x1429 = x1428
+x1428 = x1427
+x1427 = x1426
+x1426 = x1425
+x1425 = x1424
+x1424 = x1423
+x1423 = x1422
+x1422 = x1421
+x1421 = x1420
+x1420 = x1419
+x1419 = x1418
+x1418 = x1417
+x1417 = x1416
+x1416 = x1415
+x1415 = x1414
+x1414 = x1413
+x1413 = x1412
+x1412 = x1411
+x1411 = x1410
+x1410 = x1409
+x1409 = x1408
+x1408 = x1407
+x1407 = x1406
+x1406 = x1405
+x1405 = x1404
+x1404 = x1403
+x1403 = x1402
+x1402 = x1401
+x1401 = x1400
+x1400 = x1399
+x1399 = x1398
+x1398 = x1397
+x1397 = x1396
+x1396 = x1395
+x1395 = x1394
+x1394 = x1393
+x1393 = x1392
+x1392 = x1391
+x1391 = x1390
+x1390 = x1389
+x1389 = x1388
+x1388 = x1387
+x1387 = x1386
+x1386 = x1385
+x1385 = x1384
+x1384 = x1383
+x1383 = x1382
+x1382 = x1381
+x1381 = x1380
+x1380 = x1379
+x1379 = x1378
+x1378 = x1377
+x1377 = x1376
+x1376 = x1375
+x1375 = x1374
+x1374 = x1373
+x1373 = x1372
+x1372 = x1371
+x1371 = x1370
+x1370 = x1369
+x1369 = x1368
+x1368 = x1367
+x1367 = x1366
+x1366 = x1365
+x1365 = x1364
+x1364 = x1363
+x1363 = x1362
+x1362 = x1361
+x1361 = x1360
+x1360 = x1359
+x1359 = x1358
+x1358 = x1357
+x1357 = x1356
+x1356 = x1355
+x1355 = x1354
+x1354 = x1353
+x1353 = x1352
+x1352 = x1351
+x1351 = x1350
+x1350 = x1349
+x1349 = x1348
+x1348 = x1347
+x1347 = x1346
+x1346 = x1345
+x1345 = x1344
+x1344 = x1343
+x1343 = x1342
+x1342 = x1341
+x1341 = x1340
+x1340 = x1339
+x1339 = x1338
+x1338 = x1337
+x1337 = x1336
+x1336 = x1335
+x1335 = x1334
+x1334 = x1333
+x1333 = x1332
+x1332 = x1331
+x1331 = x1330
+x1330 = x1329
+x1329 = x1328
+x1328 = x1327
+x1327 = x1326
+x1326 = x1325
+x1325 = x1324
+x1324 = x1323
+x1323 = x1322
+x1322 = x1321
+x1321 = x1320
+x1320 = x1319
+x1319 = x1318
+x1318 = x1317
+x1317 = x1316
+x1316 = x1315
+x1315 = x1314
+x1314 = x1313
+x1313 = x1312
+x1312 = x1311
+x1311 = x1310
+x1310 = x1309
+x1309 = x1308
+x1308 = x1307
+x1307 = x1306
+x1306 = x1305
+x1305 = x1304
+x1304 = x1303
+x1303 = x1302
+x1302 = x1301
+x1301 = x1300
+x1300 = x1299
+x1299 = x1298
+x1298 = x1297
+x1297 = x1296
+x1296 = x1295
+x1295 = x1294
+x1294 = x1293
+x1293 = x1292
+x1292 = x1291
+x1291 = x1290
+x1290 = x1289
+x1289 = x1288
+x1288 = x1287
+x1287 = x1286
+x1286 = x1285
+x1285 = x1284
+x1284 = x1283
+x1283 = x1282
+x1282 = x1281
+x1281 = x1280
+x1280 = x1279
+x1279 = x1278
+x1278 = x1277
+x1277 = x1276
+x1276 = x1275
+x1275 = x1274
+x1274 = x1273
+x1273 = x1272
+x1272 = x1271
+x1271 = x1270
+x1270 = x1269
+x1269 = x1268
+x1268 = x1267
+x1267 = x1266
+x1266 = x1265
+x1265 = x1264
+x1264 = x1263
+x1263 = x1262
+x1262 = x1261
+x1261 = x1260
+x1260 = x1259
+x1259 = x1258
+x1258 = x1257
+x1257 = x1256
+x1256 = x1255
+x1255 = x1254
+x1254 = x1253
+x1253 = x1252
+x1252 = x1251
+x1251 = x1250
+x1250 = x1249
+x1249 = x1248
+x1248 = x1247
+x1247 = x1246
+x1246 = x1245
+x1245 = x1244
+x1244 = x1243
+x1243 = x1242
+x1242 = x1241
+x1241 = x1240
+x1240 = x1239
+x1239 = x1238
+x1238 = x1237
+x1237 = x1236
+x1236 = x1235
+x1235 = x1234
+x1234 = x1233
+x1233 = x1232
+x1232 = x1231
+x1231 = x1230
+x1230 = x1229
+x1229 = x1228
+x1228 = x1227
+x1227 = x1226
+x1226 = x1225
+x1225 = x1224
+x1224 = x1223
+x1223 = x1222
+x1222 = x1221
+x1221 = x1220
+x1220 = x1219
+x1219 = x1218
+x1218 = x1217
+x1217 = x1216
+x1216 = x1215
+x1215 = x1214
+x1214 = x1213
+x1213 = x1212
+x1212 = x1211
+x1211 = x1210
+x1210 = x1209
+x1209 = x1208
+x1208 = x1207
+x1207 = x1206
+x1206 = x1205
+x1205 = x1204
+x1204 = x1203
+x1203 = x1202
+x1202 = x1201
+x1201 = x1200
+x1200 = x1199
+x1199 = x1198
+x1198 = x1197
+x1197 = x1196
+x1196 = x1195
+x1195 = x1194
+x1194 = x1193
+x1193 = x1192
+x1192 = x1191
+x1191 = x1190
+x1190 = x1189
+x1189 = x1188
+x1188 = x1187
+x1187 = x1186
+x1186 = x1185
+x1185 = x1184
+x1184 = x1183
+x1183 = x1182
+x1182 = x1181
+x1181 = x1180
+x1180 = x1179
+x1179 = x1178
+x1178 = x1177
+x1177 = x1176
+x1176 = x1175
+x1175 = x1174
+x1174 = x1173
+x1173 = x1172
+x1172 = x1171
+x1171 = x1170
+x1170 = x1169
+x1169 = x1168
+x1168 = x1167
+x1167 = x1166
+x1166 = x1165
+x1165 = x1164
+x1164 = x1163
+x1163 = x1162
+x1162 = x1161
+x1161 = x1160
+x1160 = x1159
+x1159 = x1158
+x1158 = x1157
+x1157 = x1156
+x1156 = x1155
+x1155 = x1154
+x1154 = x1153
+x1153 = x1152
+x1152 = x1151
+x1151 = x1150
+x1150 = x1149
+x1149 = x1148
+x1148 = x1147
+x1147 = x1146
+x1146 = x1145
+x1145 = x1144
+x1144 = x1143
+x1143 = x1142
+x1142 = x1141
+x1141 = x1140
+x1140 = x1139
+x1139 = x1138
+x1138 = x1137
+x1137 = x1136
+x1136 = x1135
+x1135 = x1134
+x1134 = x1133
+x1133 = x1132
+x1132 = x1131
+x1131 = x1130
+x1130 = x1129
+x1129 = x1128
+x1128 = x1127
+x1127 = x1126
+x1126 = x1125
+x1125 = x1124
+x1124 = x1123
+x1123 = x1122
+x1122 = x1121
+x1121 = x1120
+x1120 = x1119
+x1119 = x1118
+x1118 = x1117
+x1117 = x1116
+x1116 = x1115
+x1115 = x1114
+x1114 = x1113
+x1113 = x1112
+x1112 = x1111
+x1111 = x1110
+x1110 = x1109
+x1109 = x1108
+x1108 = x1107
+x1107 = x1106
+x1106 = x1105
+x1105 = x1104
+x1104 = x1103
+x1103 = x1102
+x1102 = x1101
+x1101 = x1100
+x1100 = x1099
+x1099 = x1098
+x1098 = x1097
+x1097 = x1096
+x1096 = x1095
+x1095 = x1094
+x1094 = x1093
+x1093 = x1092
+x1092 = x1091
+x1091 = x1090
+x1090 = x1089
+x1089 = x1088
+x1088 = x1087
+x1087 = x1086
+x1086 = x1085
+x1085 = x1084
+x1084 = x1083
+x1083 = x1082
+x1082 = x1081
+x1081 = x1080
+x1080 = x1079
+x1079 = x1078
+x1078 = x1077
+x1077 = x1076
+x1076 = x1075
+x1075 = x1074
+x1074 = x1073
+x1073 = x1072
+x1072 = x1071
+x1071 = x1070
+x1070 = x1069
+x1069 = x1068
+x1068 = x1067
+x1067 = x1066
+x1066 = x1065
+x1065 = x1064
+x1064 = x1063
+x1063 = x1062
+x1062 = x1061
+x1061 = x1060
+x1060 = x1059
+x1059 = x1058
+x1058 = x1057
+x1057 = x1056
+x1056 = x1055
+x1055 = x1054
+x1054 = x1053
+x1053 = x1052
+x1052 = x1051
+x1051 = x1050
+x1050 = x1049
+x1049 = x1048
+x1048 = x1047
+x1047 = x1046
+x1046 = x1045
+x1045 = x1044
+x1044 = x1043
+x1043 = x1042
+x1042 = x1041
+x1041 = x1040
+x1040 = x1039
+x1039 = x1038
+x1038 = x1037
+x1037 = x1036
+x1036 = x1035
+x1035 = x1034
+x1034 = x1033
+x1033 = x1032
+x1032 = x1031
+x1031 = x1030
+x1030 = x1029
+x1029 = x1028
+x1028 = x1027
+x1027 = x1026
+x1026 = x1025
+x1025 = x1024
+x1024 = x1023
+x1023 = x1022
+x1022 = x1021
+x1021 = x1020
+x1020 = x1019
+x1019 = x1018
+x1018 = x1017
+x1017 = x1016
+x1016 = x1015
+x1015 = x1014
+x1014 = x1013
+x1013 = x1012
+x1012 = x1011
+x1011 = x1010
+x1010 = x1009
+x1009 = x1008
+x1008 = x1007
+x1007 = x1006
+x1006 = x1005
+x1005 = x1004
+x1004 = x1003
+x1003 = x1002
+x1002 = x1001
+x1001 = x1000
+x1000 = x999
+x999 = x998
+x998 = x997
+x997 = x996
+x996 = x995
+x995 = x994
+x994 = x993
+x993 = x992
+x992 = x991
+x991 = x990
+x990 = x989
+x989 = x988
+x988 = x987
+x987 = x986
+x986 = x985
+x985 = x984
+x984 = x983
+x983 = x982
+x982 = x981
+x981 = x980
+x980 = x979
+x979 = x978
+x978 = x977
+x977 = x976
+x976 = x975
+x975 = x974
+x974 = x973
+x973 = x972
+x972 = x971
+x971 = x970
+x970 = x969
+x969 = x968
+x968 = x967
+x967 = x966
+x966 = x965
+x965 = x964
+x964 = x963
+x963 = x962
+x962 = x961
+x961 = x960
+x960 = x959
+x959 = x958
+x958 = x957
+x957 = x956
+x956 = x955
+x955 = x954
+x954 = x953
+x953 = x952
+x952 = x951
+x951 = x950
+x950 = x949
+x949 = x948
+x948 = x947
+x947 = x946
+x946 = x945
+x945 = x944
+x944 = x943
+x943 = x942
+x942 = x941
+x941 = x940
+x940 = x939
+x939 = x938
+x938 = x937
+x937 = x936
+x936 = x935
+x935 = x934
+x934 = x933
+x933 = x932
+x932 = x931
+x931 = x930
+x930 = x929
+x929 = x928
+x928 = x927
+x927 = x926
+x926 = x925
+x925 = x924
+x924 = x923
+x923 = x922
+x922 = x921
+x921 = x920
+x920 = x919
+x919 = x918
+x918 = x917
+x917 = x916
+x916 = x915
+x915 = x914
+x914 = x913
+x913 = x912
+x912 = x911
+x911 = x910
+x910 = x909
+x909 = x908
+x908 = x907
+x907 = x906
+x906 = x905
+x905 = x904
+x904 = x903
+x903 = x902
+x902 = x901
+x901 = x900
+x900 = x899
+x899 = x898
+x898 = x897
+x897 = x896
+x896 = x895
+x895 = x894
+x894 = x893
+x893 = x892
+x892 = x891
+x891 = x890
+x890 = x889
+x889 = x888
+x888 = x887
+x887 = x886
+x886 = x885
+x885 = x884
+x884 = x883
+x883 = x882
+x882 = x881
+x881 = x880
+x880 = x879
+x879 = x878
+x878 = x877
+x877 = x876
+x876 = x875
+x875 = x874
+x874 = x873
+x873 = x872
+x872 = x871
+x871 = x870
+x870 = x869
+x869 = x868
+x868 = x867
+x867 = x866
+x866 = x865
+x865 = x864
+x864 = x863
+x863 = x862
+x862 = x861
+x861 = x860
+x860 = x859
+x859 = x858
+x858 = x857
+x857 = x856
+x856 = x855
+x855 = x854
+x854 = x853
+x853 = x852
+x852 = x851
+x851 = x850
+x850 = x849
+x849 = x848
+x848 = x847
+x847 = x846
+x846 = x845
+x845 = x844
+x844 = x843
+x843 = x842
+x842 = x841
+x841 = x840
+x840 = x839
+x839 = x838
+x838 = x837
+x837 = x836
+x836 = x835
+x835 = x834
+x834 = x833
+x833 = x832
+x832 = x831
+x831 = x830
+x830 = x829
+x829 = x828
+x828 = x827
+x827 = x826
+x826 = x825
+x825 = x824
+x824 = x823
+x823 = x822
+x822 = x821
+x821 = x820
+x820 = x819
+x819 = x818
+x818 = x817
+x817 = x816
+x816 = x815
+x815 = x814
+x814 = x813
+x813 = x812
+x812 = x811
+x811 = x810
+x810 = x809
+x809 = x808
+x808 = x807
+x807 = x806
+x806 = x805
+x805 = x804
+x804 = x803
+x803 = x802
+x802 = x801
+x801 = x800
+x800 = x799
+x799 = x798
+x798 = x797
+x797 = x796
+x796 = x795
+x795 = x794
+x794 = x793
+x793 = x792
+x792 = x791
+x791 = x790
+x790 = x789
+x789 = x788
+x788 = x787
+x787 = x786
+x786 = x785
+x785 = x784
+x784 = x783
+x783 = x782
+x782 = x781
+x781 = x780
+x780 = x779
+x779 = x778
+x778 = x777
+x777 = x776
+x776 = x775
+x775 = x774
+x774 = x773
+x773 = x772
+x772 = x771
+x771 = x770
+x770 = x769
+x769 = x768
+x768 = x767
+x767 = x766
+x766 = x765
+x765 = x764
+x764 = x763
+x763 = x762
+x762 = x761
+x761 = x760
+x760 = x759
+x759 = x758
+x758 = x757
+x757 = x756
+x756 = x755
+x755 = x754
+x754 = x753
+x753 = x752
+x752 = x751
+x751 = x750
+x750 = x749
+x749 = x748
+x748 = x747
+x747 = x746
+x746 = x745
+x745 = x744
+x744 = x743
+x743 = x742
+x742 = x741
+x741 = x740
+x740 = x739
+x739 = x738
+x738 = x737
+x737 = x736
+x736 = x735
+x735 = x734
+x734 = x733
+x733 = x732
+x732 = x731
+x731 = x730
+x730 = x729
+x729 = x728
+x728 = x727
+x727 = x726
+x726 = x725
+x725 = x724
+x724 = x723
+x723 = x722
+x722 = x721
+x721 = x720
+x720 = x719
+x719 = x718
+x718 = x717
+x717 = x716
+x716 = x715
+x715 = x714
+x714 = x713
+x713 = x712
+x712 = x711
+x711 = x710
+x710 = x709
+x709 = x708
+x708 = x707
+x707 = x706
+x706 = x705
+x705 = x704
+x704 = x703
+x703 = x702
+x702 = x701
+x701 = x700
+x700 = x699
+x699 = x698
+x698 = x697
+x697 = x696
+x696 = x695
+x695 = x694
+x694 = x693
+x693 = x692
+x692 = x691
+x691 = x690
+x690 = x689
+x689 = x688
+x688 = x687
+x687 = x686
+x686 = x685
+x685 = x684
+x684 = x683
+x683 = x682
+x682 = x681
+x681 = x680
+x680 = x679
+x679 = x678
+x678 = x677
+x677 = x676
+x676 = x675
+x675 = x674
+x674 = x673
+x673 = x672
+x672 = x671
+x671 = x670
+x670 = x669
+x669 = x668
+x668 = x667
+x667 = x666
+x666 = x665
+x665 = x664
+x664 = x663
+x663 = x662
+x662 = x661
+x661 = x660
+x660 = x659
+x659 = x658
+x658 = x657
+x657 = x656
+x656 = x655
+x655 = x654
+x654 = x653
+x653 = x652
+x652 = x651
+x651 = x650
+x650 = x649
+x649 = x648
+x648 = x647
+x647 = x646
+x646 = x645
+x645 = x644
+x644 = x643
+x643 = x642
+x642 = x641
+x641 = x640
+x640 = x639
+x639 = x638
+x638 = x637
+x637 = x636
+x636 = x635
+x635 = x634
+x634 = x633
+x633 = x632
+x632 = x631
+x631 = x630
+x630 = x629
+x629 = x628
+x628 = x627
+x627 = x626
+x626 = x625
+x625 = x624
+x624 = x623
+x623 = x622
+x622 = x621
+x621 = x620
+x620 = x619
+x619 = x618
+x618 = x617
+x617 = x616
+x616 = x615
+x615 = x614
+x614 = x613
+x613 = x612
+x612 = x611
+x611 = x610
+x610 = x609
+x609 = x608
+x608 = x607
+x607 = x606
+x606 = x605
+x605 = x604
+x604 = x603
+x603 = x602
+x602 = x601
+x601 = x600
+x600 = x599
+x599 = x598
+x598 = x597
+x597 = x596
+x596 = x595
+x595 = x594
+x594 = x593
+x593 = x592
+x592 = x591
+x591 = x590
+x590 = x589
+x589 = x588
+x588 = x587
+x587 = x586
+x586 = x585
+x585 = x584
+x584 = x583
+x583 = x582
+x582 = x581
+x581 = x580
+x580 = x579
+x579 = x578
+x578 = x577
+x577 = x576
+x576 = x575
+x575 = x574
+x574 = x573
+x573 = x572
+x572 = x571
+x571 = x570
+x570 = x569
+x569 = x568
+x568 = x567
+x567 = x566
+x566 = x565
+x565 = x564
+x564 = x563
+x563 = x562
+x562 = x561
+x561 = x560
+x560 = x559
+x559 = x558
+x558 = x557
+x557 = x556
+x556 = x555
+x555 = x554
+x554 = x553
+x553 = x552
+x552 = x551
+x551 = x550
+x550 = x549
+x549 = x548
+x548 = x547
+x547 = x546
+x546 = x545
+x545 = x544
+x544 = x543
+x543 = x542
+x542 = x541
+x541 = x540
+x540 = x539
+x539 = x538
+x538 = x537
+x537 = x536
+x536 = x535
+x535 = x534
+x534 = x533
+x533 = x532
+x532 = x531
+x531 = x530
+x530 = x529
+x529 = x528
+x528 = x527
+x527 = x526
+x526 = x525
+x525 = x524
+x524 = x523
+x523 = x522
+x522 = x521
+x521 = x520
+x520 = x519
+x519 = x518
+x518 = x517
+x517 = x516
+x516 = x515
+x515 = x514
+x514 = x513
+x513 = x512
+x512 = x511
+x511 = x510
+x510 = x509
+x509 = x508
+x508 = x507
+x507 = x506
+x506 = x505
+x505 = x504
+x504 = x503
+x503 = x502
+x502 = x501
+x501 = x500
+x500 = x499
+x499 = x498
+x498 = x497
+x497 = x496
+x496 = x495
+x495 = x494
+x494 = x493
+x493 = x492
+x492 = x491
+x491 = x490
+x490 = x489
+x489 = x488
+x488 = x487
+x487 = x486
+x486 = x485
+x485 = x484
+x484 = x483
+x483 = x482
+x482 = x481
+x481 = x480
+x480 = x479
+x479 = x478
+x478 = x477
+x477 = x476
+x476 = x475
+x475 = x474
+x474 = x473
+x473 = x472
+x472 = x471
+x471 = x470
+x470 = x469
+x469 = x468
+x468 = x467
+x467 = x466
+x466 = x465
+x465 = x464
+x464 = x463
+x463 = x462
+x462 = x461
+x461 = x460
+x460 = x459
+x459 = x458
+x458 = x457
+x457 = x456
+x456 = x455
+x455 = x454
+x454 = x453
+x453 = x452
+x452 = x451
+x451 = x450
+x450 = x449
+x449 = x448
+x448 = x447
+x447 = x446
+x446 = x445
+x445 = x444
+x444 = x443
+x443 = x442
+x442 = x441
+x441 = x440
+x440 = x439
+x439 = x438
+x438 = x437
+x437 = x436
+x436 = x435
+x435 = x434
+x434 = x433
+x433 = x432
+x432 = x431
+x431 = x430
+x430 = x429
+x429 = x428
+x428 = x427
+x427 = x426
+x426 = x425
+x425 = x424
+x424 = x423
+x423 = x422
+x422 = x421
+x421 = x420
+x420 = x419
+x419 = x418
+x418 = x417
+x417 = x416
+x416 = x415
+x415 = x414
+x414 = x413
+x413 = x412
+x412 = x411
+x411 = x410
+x410 = x409
+x409 = x408
+x408 = x407
+x407 = x406
+x406 = x405
+x405 = x404
+x404 = x403
+x403 = x402
+x402 = x401
+x401 = x400
+x400 = x399
+x399 = x398
+x398 = x397
+x397 = x396
+x396 = x395
+x395 = x394
+x394 = x393
+x393 = x392
+x392 = x391
+x391 = x390
+x390 = x389
+x389 = x388
+x388 = x387
+x387 = x386
+x386 = x385
+x385 = x384
+x384 = x383
+x383 = x382
+x382 = x381
+x381 = x380
+x380 = x379
+x379 = x378
+x378 = x377
+x377 = x376
+x376 = x375
+x375 = x374
+x374 = x373
+x373 = x372
+x372 = x371
+x371 = x370
+x370 = x369
+x369 = x368
+x368 = x367
+x367 = x366
+x366 = x365
+x365 = x364
+x364 = x363
+x363 = x362
+x362 = x361
+x361 = x360
+x360 = x359
+x359 = x358
+x358 = x357
+x357 = x356
+x356 = x355
+x355 = x354
+x354 = x353
+x353 = x352
+x352 = x351
+x351 = x350
+x350 = x349
+x349 = x348
+x348 = x347
+x347 = x346
+x346 = x345
+x345 = x344
+x344 = x343
+x343 = x342
+x342 = x341
+x341 = x340
+x340 = x339
+x339 = x338
+x338 = x337
+x337 = x336
+x336 = x335
+x335 = x334
+x334 = x333
+x333 = x332
+x332 = x331
+x331 = x330
+x330 = x329
+x329 = x328
+x328 = x327
+x327 = x326
+x326 = x325
+x325 = x324
+x324 = x323
+x323 = x322
+x322 = x321
+x321 = x320
+x320 = x319
+x319 = x318
+x318 = x317
+x317 = x316
+x316 = x315
+x315 = x314
+x314 = x313
+x313 = x312
+x312 = x311
+x311 = x310
+x310 = x309
+x309 = x308
+x308 = x307
+x307 = x306
+x306 = x305
+x305 = x304
+x304 = x303
+x303 = x302
+x302 = x301
+x301 = x300
+x300 = x299
+x299 = x298
+x298 = x297
+x297 = x296
+x296 = x295
+x295 = x294
+x294 = x293
+x293 = x292
+x292 = x291
+x291 = x290
+x290 = x289
+x289 = x288
+x288 = x287
+x287 = x286
+x286 = x285
+x285 = x284
+x284 = x283
+x283 = x282
+x282 = x281
+x281 = x280
+x280 = x279
+x279 = x278
+x278 = x277
+x277 = x276
+x276 = x275
+x275 = x274
+x274 = x273
+x273 = x272
+x272 = x271
+x271 = x270
+x270 = x269
+x269 = x268
+x268 = x267
+x267 = x266
+x266 = x265
+x265 = x264
+x264 = x263
+x263 = x262
+x262 = x261
+x261 = x260
+x260 = x259
+x259 = x258
+x258 = x257
+x257 = x256
+x256 = x255
+x255 = x254
+x254 = x253
+x253 = x252
+x252 = x251
+x251 = x250
+x250 = x249
+x249 = x248
+x248 = x247
+x247 = x246
+x246 = x245
+x245 = x244
+x244 = x243
+x243 = x242
+x242 = x241
+x241 = x240
+x240 = x239
+x239 = x238
+x238 = x237
+x237 = x236
+x236 = x235
+x235 = x234
+x234 = x233
+x233 = x232
+x232 = x231
+x231 = x230
+x230 = x229
+x229 = x228
+x228 = x227
+x227 = x226
+x226 = x225
+x225 = x224
+x224 = x223
+x223 = x222
+x222 = x221
+x221 = x220
+x220 = x219
+x219 = x218
+x218 = x217
+x217 = x216
+x216 = x215
+x215 = x214
+x214 = x213
+x213 = x212
+x212 = x211
+x211 = x210
+x210 = x209
+x209 = x208
+x208 = x207
+x207 = x206
+x206 = x205
+x205 = x204
+x204 = x203
+x203 = x202
+x202 = x201
+x201 = x200
+x200 = x199
+x199 = x198
+x198 = x197
+x197 = x196
+x196 = x195
+x195 = x194
+x194 = x193
+x193 = x192
+x192 = x191
+x191 = x190
+x190 = x189
+x189 = x188
+x188 = x187
+x187 = x186
+x186 = x185
+x185 = x184
+x184 = x183
+x183 = x182
+x182 = x181
+x181 = x180
+x180 = x179
+x179 = x178
+x178 = x177
+x177 = x176
+x176 = x175
+x175 = x174
+x174 = x173
+x173 = x172
+x172 = x171
+x171 = x170
+x170 = x169
+x169 = x168
+x168 = x167
+x167 = x166
+x166 = x165
+x165 = x164
+x164 = x163
+x163 = x162
+x162 = x161
+x161 = x160
+x160 = x159
+x159 = x158
+x158 = x157
+x157 = x156
+x156 = x155
+x155 = x154
+x154 = x153
+x153 = x152
+x152 = x151
+x151 = x150
+x150 = x149
+x149 = x148
+x148 = x147
+x147 = x146
+x146 = x145
+x145 = x144
+x144 = x143
+x143 = x142
+x142 = x141
+x141 = x140
+x140 = x139
+x139 = x138
+x138 = x137
+x137 = x136
+x136 = x135
+x135 = x134
+x134 = x133
+x133 = x132
+x132 = x131
+x131 = x130
+x130 = x129
+x129 = x128
+x128 = x127
+x127 = x126
+x126 = x125
+x125 = x124
+x124 = x123
+x123 = x122
+x122 = x121
+x121 = x120
+x120 = x119
+x119 = x118
+x118 = x117
+x117 = x116
+x116 = x115
+x115 = x114
+x114 = x113
+x113 = x112
+x112 = x111
+x111 = x110
+x110 = x109
+x109 = x108
+x108 = x107
+x107 = x106
+x106 = x105
+x105 = x104
+x104 = x103
+x103 = x102
+x102 = x101
+x101 = x100
+x100 = x99
+x99 = x98
+x98 = x97
+x97 = x96
+x96 = x95
+x95 = x94
+x94 = x93
+x93 = x92
+x92 = x91
+x91 = x90
+x90 = x89
+x89 = x88
+x88 = x87
+x87 = x86
+x86 = x85
+x85 = x84
+x84 = x83
+x83 = x82
+x82 = x81
+x81 = x80
+x80 = x79
+x79 = x78
+x78 = x77
+x77 = x76
+x76 = x75
+x75 = x74
+x74 = x73
+x73 = x72
+x72 = x71
+x71 = x70
+x70 = x69
+x69 = x68
+x68 = x67
+x67 = x66
+x66 = x65
+x65 = x64
+x64 = x63
+x63 = x62
+x62 = x61
+x61 = x60
+x60 = x59
+x59 = x58
+x58 = x57
+x57 = x56
+x56 = x55
+x55 = x54
+x54 = x53
+x53 = x52
+x52 = x51
+x51 = x50
+x50 = x49
+x49 = x48
+x48 = x47
+x47 = x46
+x46 = x45
+x45 = x44
+x44 = x43
+x43 = x42
+x42 = x41
+x41 = x40
+x40 = x39
+x39 = x38
+x38 = x37
+x37 = x36
+x36 = x35
+x35 = x34
+x34 = x33
+x33 = x32
+x32 = x31
+x31 = x30
+x30 = x29
+x29 = x28
+x28 = x27
+x27 = x26
+x26 = x25
+x25 = x24
+x24 = x23
+x23 = x22
+x22 = x21
+x21 = x20
+x20 = x19
+x19 = x18
+x18 = x17
+x17 = x16
+x16 = x15
+x15 = x14
+x14 = x13
+x13 = x12
+x12 = x11
+x11 = x10
+x10 = x9
+x9 = x8
+x8 = x7
+x7 = x6
+x6 = x5
+x5 = x4
+x4 = x3
+x3 = x2
+x2 = x1
+x1 = x0
+x0 = 0
diff --git a/impl/test/run b/impl/test/run
index b030827..0c1886d 100644
--- a/impl/test/run
+++ b/impl/test/run
@@ -7,7 +7,7 @@ FAILED=0
echo "Testing binary: $1 in directory $DIR"
while [ -f "$DIR/$NUM.eqns" ]
do
- OUTPUT=$($1 "$DIR/$NUM.eqns" smart smart)
+ OUTPUT=$($1 "$DIR/$NUM.eqns")
DIFF=$(echo "$OUTPUT" | diff - "$DIR/$NUM.soln")
if [ ! -z "$DIFF" ]; then
echo "=================="