From ea05c9c5fa30b8822f618e861d12a09df1f8f017 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Mon, 28 May 2012 13:00:50 +1000 Subject: Fix memory error and x = max(-inf, expr) stuff. --- impl/Complete.hpp | 119 + impl/EquationSystem.g | 19 +- impl/EquationSystem.hpp | 46 +- impl/Expression.hpp | 3 + impl/FixpointAlgorithm.hpp | 98 + impl/IdMap.hpp | 81 + impl/IdSet.hpp | 187 + impl/Makefile | 2 +- impl/MaxStrategy.hpp | 15 +- impl/Operator.hpp | 56 +- impl/Variable.hpp | 13 +- impl/VariableAssignment.hpp | 78 +- impl/antlr/generate.py | 4 + impl/antlr/test-file | 4 +- impl/antlr/test-system | 100 + impl/main.cpp | 58 +- impl/systems/generate-system.py | 25 + impl/systems/long-fixpoint | 10001 ++++++++++++++++++++++++++++++++++++++ impl/systems/min-test | 3 + impl/systems/random-system | 1 + impl/systems/size-ten | 3 + impl/systems/small | 1 + 22 files changed, 10772 insertions(+), 145 deletions(-) create mode 100644 impl/Complete.hpp create mode 100644 impl/FixpointAlgorithm.hpp create mode 100644 impl/IdMap.hpp create mode 100644 impl/IdSet.hpp create mode 100644 impl/antlr/generate.py create mode 100644 impl/antlr/test-system create mode 100644 impl/systems/generate-system.py create mode 100644 impl/systems/long-fixpoint create mode 100644 impl/systems/min-test create mode 100644 impl/systems/random-system create mode 100644 impl/systems/size-ten create mode 100644 impl/systems/small diff --git a/impl/Complete.hpp b/impl/Complete.hpp new file mode 100644 index 0000000..1cf40af --- /dev/null +++ b/impl/Complete.hpp @@ -0,0 +1,119 @@ +#ifndef COMPLETE_HPP +#define COMPLETE_HPP + +#include +#include + +template +struct Complete { + Complete() + : _value(0), _infinity(false) { } + Complete(const T& value, const bool& infinity) + : _value(value), _infinity(infinity) { + if (value == 0 && infinity == true) { + throw "Zero infinity? Die die die!"; + } + } + Complete(const Complete& other) + : _value(other._value), _infinity(other._infinity) { } + + Complete& operator=(const Complete& other) { + _value = other._value; + _infinity = other._infinity; + return *this; + } + Complete& operator+=(const Complete& other) { + return (*this) = (*this) + other; + } + Complete& operator-=(const Complete& other) { + return (*this) = (*this) - other; + } + + Complete operator-() const { + return Complete(- _value, _infinity); + } + Complete operator+(const Complete& other) const { + if (_infinity) { + return *this; + } else if (other._infinity) { + return other; + } else { + return Complete(_value + other._value, false); + } + } + Complete operator-(const Complete& other) const { + return *this + (- other); + } + Complete operator*(const Complete& other) const { + if (_infinity) { + return *this; + } else if (other._infinity) { + return other; + } else { + return Complete(_value + other._value, false); + } + } + + bool operator!() const { + return _value == 0; + } + bool operator<(const Complete& other) const { + if (*this == other) + return false; + if (_infinity) { + return _value < 0; + } else if (other._infinity) { + return other._value > 0; + } else { + return _value < other._value; + } + } + bool operator>(const Complete& other) const { + return !(*this < other || *this == other); + } + bool operator==(const Complete& other) const { + if (_infinity) { + return other._infinity && ((_value < 0 && other._value < 0) || + (_value > 0 && other._value > 0)); + } else { + return _value == other._value; + } + } + bool operator!=(const Complete& other) const { + return !(*this == other); + } + + template + friend std::istream& operator<<(std::istream&, Complete&); + template + friend std::ostream& operator<<(std::ostream&, const Complete&); + + private: + T _value; + bool _infinity; +}; + +template +std::istream& operator>>(std::istream& cin, Complete& num) { + Z value; + cin >> value; + num = Complete(value, false); + return cin; +} + +template +std::ostream& operator<<(std::ostream& cout, const Complete& num) { + if (num._infinity) { + cout << (num._value > 0 ? "inf" : "-inf"); + } else { + cout << num._value; + } + return cout; +} + +template<> +Complete infinity() { + return Complete(1, true); +} + +#endif diff --git a/impl/EquationSystem.g b/impl/EquationSystem.g index 6db7045..3a6598a 100644 --- a/impl/EquationSystem.g +++ b/impl/EquationSystem.g @@ -3,27 +3,34 @@ grammar EquationSystem; options { language=C; output=AST; + backtrack=true; } tokens { - SYSTEM = 'system' ; PLUS = '+' ; SUB = '-' ; MULT = '*' ; + COMMA = ';' ; + GUARD = 'guard' ; + GREATER_EQUAL = '>=' ; + QUESTION_MARK = '?' ; MAXIMUM = 'max' ; MINIMUM = 'min' ; NEWLINE = '\n' ; } -equation_system : equation ( NEWLINE! + equation )* (NEWLINE!) *; -equation : VARIABLE '='! maxExpr; +equation_system : equation ( NEWLINE! + equation )* (NEWLINE!)* ; +equation : VARIABLE '='! maxExpr ; -maxExpr : MAXIMUM^ '('! minExpr ( ','! minExpr )* ')'! | minExpr; +maxExpr : MAXIMUM^ '('! minExpr ( ','! minExpr )* ')'! | minExpr ; minExpr : MINIMUM^ '('! maxExpr ( ','! maxExpr )* ')'! | expr ; -expr : term ( (PLUS | MULT | SUB)^ term )* ; +expr : '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')' -> ^(GUARD expr expr expr) + | term ( (PLUS | MULT | SUB | COMMA)^ expr )* ; -term : NUMBER | VARIABLE ; +term : NUMBER + | VARIABLE + | '('! expr ')'! ; NUMBER : (DIGIT)+ ; diff --git a/impl/EquationSystem.hpp b/impl/EquationSystem.hpp index ac0b3b2..772ac37 100644 --- a/impl/EquationSystem.hpp +++ b/impl/EquationSystem.hpp @@ -3,7 +3,13 @@ #include +template +struct EquationSystem; + +#include "IdSet.hpp" #include "Expression.hpp" +#include "FixpointAlgorithm.hpp" + template struct MaxStrategy; @@ -31,11 +37,14 @@ struct EquationSystem { const std::vector*> vars() const { return _vars; } + const Variable* getVar(unsigned int i) const { + return _vars[i]; + } unsigned int varCount() const { return _vars.size(); } - Expression* newExpression(Operator* op, const std::vector*>& args) { + Expression* newExpression(Operator* op, const std::vector*>& args=std::vector*>()) { Expression* expr = new Expression(op, args); _expressions.push_back(expr); return expr; @@ -58,7 +67,7 @@ struct EquationSystem { MaxStrategy strategy() const { return MaxStrategy(_max_expressions.size()); } - + VariableAssignment assignment() const { return VariableAssignment(_vars.size()); } @@ -69,7 +78,7 @@ struct EquationSystem { } return _right_expressions[v.id()]; } - const Expression*& operator[] (const Variable& v) const { + const Expression* operator[] (const Variable& v) const { if (_right_expressions.size() <= v.id()) { throw "Out of range"; } @@ -95,38 +104,27 @@ struct EquationSystem { VariableAssignment maxFixpoint() const { unsigned int size = _vars.size(); - VariableAssignment result(size, infinity()); - for (unsigned int i = 0; i < size; ++i) { - result = (*this)(result); - } - result = result.expand((*this)(result), -infinity()); - for (unsigned int i = 0; i < size-1; ++i) { - result = (*this)(result); - } + VariableAssignment newResult(size, infinity()); + VariableAssignment result(0); + do { + result = newResult; + newResult = (*this)(result); + } while (newResult != result); return result; } - VariableAssignment maxFixpoint(const MaxStrategy& strat) const { - unsigned int size = _vars.size(); - VariableAssignment result(size, infinity()); - for (unsigned int i = 0; i < size; ++i) { - result = strat(*this, result); - } - result = result.expand(strat(*this, result), -infinity()); - for (unsigned int i = 0; i < size-1; ++i) { - result = strat(*this, result); - } - return result; + VariableAssignment maxFixpoint(const MaxStrategy& strat, const FixpointAlgorithm& algo) const { + return algo.maxFixpoint(strat, *this); } - VariableAssignment minFixpoint() const { + VariableAssignment minFixpoint(const FixpointAlgorithm& algo) const { VariableAssignment rho = assignment(); VariableAssignment lastRho = assignment(); MaxStrategy strat = strategy(); do { lastRho = rho; strat = strat.improve(*this, rho); - rho = maxFixpoint(strat); + rho = maxFixpoint(strat, algo); } while(lastRho != rho); return rho; } diff --git a/impl/Expression.hpp b/impl/Expression.hpp index 5cf82d4..4798e60 100644 --- a/impl/Expression.hpp +++ b/impl/Expression.hpp @@ -22,6 +22,9 @@ struct Expression { virtual T operator() (const VariableAssignment& assignment) const { return (*_operator)(_arguments, assignment); } + virtual T operator() (const VariableAssignment& assignment, VariableSet* visited) const { + return (*_operator)(_arguments, assignment, visited); + } protected: Operator* _operator; std::vector< Expression* > _arguments; diff --git a/impl/FixpointAlgorithm.hpp b/impl/FixpointAlgorithm.hpp new file mode 100644 index 0000000..ed97bec --- /dev/null +++ b/impl/FixpointAlgorithm.hpp @@ -0,0 +1,98 @@ +#ifndef FIXPOINT_ALGORITHM_HPP +#define FIXPOINT_ALGORITHM_HPP + +#include "VariableAssignment.hpp" + +template +struct EquationSystem; +template +struct MaxStrategy; + +template +struct FixpointAlgorithm { + virtual VariableAssignment maxFixpoint(const MaxStrategy&, const EquationSystem&) const = 0; +}; + +#include "EquationSystem.hpp" +#include "MaxStrategy.hpp" + +template +struct NaiveFixpoint : public FixpointAlgorithm { + virtual VariableAssignment maxFixpoint(const MaxStrategy& strat, const EquationSystem& system) const { + unsigned int size = system.varCount(); + VariableAssignment newResult(size, infinity()); + VariableAssignment result(0); + do { + result = newResult; + newResult = strat(system, result); + } while (newResult != result); + return result; + } +}; + + +template +struct RecursiveFixpoint : public FixpointAlgorithm { + // this is a "VariableAssignment" which actually performs a recursive + // call to determine what value to return + struct EvaluatingVariableAssignment : public VariableAssignment { + EvaluatingVariableAssignment(const MaxStrategy& strategy, const EquationSystem& system) + : VariableAssignment(system.varCount(), infinity()), + _strategy(strategy), _system(system), + _evaluating(NULL), + _influence(system.varCount(), IdSet >(system.varCount())), + _stable(system.varCount()) { + } + virtual T& operator[] (const Variable& x) const { + if (_evaluating == NULL) { + solve(x); + return VariableAssignment::_assignment[x.id()]; + } else { + solve(x); + _influence[x].insert(*_evaluating); + return VariableAssignment::_assignment[x.id()]; + } + } + void solve(const Variable& x) const { + if (!_stable.contains(x)) { + _stable.insert(x); + + const Variable* oldEval = _evaluating; + _evaluating = &x; + T t = _strategy(*_system[x], *this); + _evaluating = oldEval; + + if (t != VariableAssignment::_assignment[x.id()]) { + IdSet > oldInfluence = _influence[x]; + _influence[x].clear(); // clear out our idea of what x influences + VariableAssignment::_assignment[x.id()] = t; + + _stable.filter(oldInfluence); // whatever x influences needs to be re-evaluated + + for (typename IdSet >::iterator it = oldInfluence.begin(); + it != oldInfluence.end(); + ++it) { + solve(*_system.getVar(*it)); + } + } + } + } + private: + const MaxStrategy& _strategy; + const EquationSystem& _system; + mutable const Variable* _evaluating; + mutable IdMap, IdSet > > _influence; + mutable IdSet > _stable; + }; + + virtual VariableAssignment maxFixpoint(const MaxStrategy& strat, const EquationSystem& system) const { + EvaluatingVariableAssignment assignment(strat, system); + VariableAssignment result(system.varCount()); + for (unsigned int i = 0; i < system.varCount(); ++i) { + result[*system.getVar(i)] = assignment[*system.getVar(i)]; + } + return result; + } +}; + +#endif diff --git a/impl/IdMap.hpp b/impl/IdMap.hpp new file mode 100644 index 0000000..b3a87fb --- /dev/null +++ b/impl/IdMap.hpp @@ -0,0 +1,81 @@ +#ifndef ID_MAP_HPP +#define ID_MAP_HPP + +#include + +template +struct IdMap { + IdMap(unsigned int length, V initial) + : _length(length), _assignment(new V[length]) { + for (unsigned int i = 0; i < _length; ++i) { + _assignment[i] = initial; + } + } + IdMap(const IdMap& other) + : _length(other._length), _assignment(new V[other._length]) { + for (unsigned int i = 0; i < _length; ++i) { + _assignment[i] = other._assignment[i]; + } + } + virtual ~IdMap() { + delete[] _assignment; + } + virtual IdMap& operator=(const IdMap& other) { + if (_length != other._length) { + delete[] _assignment; + _length = other._length; + _assignment = new V[_length]; + } + for (unsigned int i = 0; i < _length; ++i) { + _assignment[i] = other._assignment[i]; + } + return *this; + } + virtual const V& operator[] (const T& x) const { + if (x.id() >= _length) { + throw "Array out of bounds"; + } + return _assignment[x.id()]; + } + virtual V& operator[] (const T& x) { + if (x.id() >= _length) { + throw "Array out of bounds"; + } + return _assignment[x.id()]; + } + + virtual bool operator==(const IdMap& other) const { + if (_length != other._length) + return false; + for (unsigned int i = 0; i < _length; ++i) { + if (_assignment[i] != other._assignment[i]) { + return false; + } + } + return true; + } + virtual bool operator!=(const IdMap& other) const { + return !(*this == other); + } + + + template + friend std::ostream& operator<<(std::ostream& cout, const IdMap& rho); + + protected: + unsigned int _length; + V* _assignment; +}; + +template +std::ostream& operator<<(std::ostream& cout, const IdMap& rho) { + cout << "{"; + for (unsigned int i = 0; i < rho._length; ++i) { + if (i != 0) cout << ", "; + cout << i << ": " << rho._assignment[i]; + } + cout << "}"; + return cout; +} + +#endif diff --git a/impl/IdSet.hpp b/impl/IdSet.hpp new file mode 100644 index 0000000..6f6fd3f --- /dev/null +++ b/impl/IdSet.hpp @@ -0,0 +1,187 @@ +#ifndef IDSET_HPP +#define IDSET_HPP + +#include + +#define CELL_TYPE char +#define CELL_SIZE (8 * sizeof(CELL_TYPE)) +#define DIV_ROUND_UP(NUM, DEM) ((NUM + DEM - 1) / DEM) + +template +class IdSet { + public: + IdSet() : _length(0), _values(NULL) { } + IdSet(unsigned int length) + : _length(length), + _values(new CELL_TYPE[DIV_ROUND_UP(length, CELL_SIZE)]) { + for (unsigned int i = 0; i < DIV_ROUND_UP(_length, CELL_SIZE); ++i) { + _values[i] = 0; + } + } + + virtual ~IdSet() { + if (_values != NULL) + delete[] _values; + } + + IdSet(const IdSet& other) { + _length = other._length; + _values = new CELL_TYPE[DIV_ROUND_UP(_length, CELL_SIZE)]; + for (unsigned int i = 0; i < DIV_ROUND_UP(_length, CELL_SIZE); ++i) { + _values[i] = other._values[i]; + } + } + + IdSet& operator=(const IdSet& other) { + if (_length != other._length) { + if (_values != NULL) + delete[] _values; + _length = other._length; + _values = new CELL_TYPE[DIV_ROUND_UP(_length, CELL_SIZE)]; + } + for (unsigned int i = 0; i < DIV_ROUND_UP(_length, CELL_SIZE); ++i) { + _values[i] = other._values[i]; + } + return *this; + } + + bool contains(const T& obj) const { + unsigned int id = obj.id(); + if (id >= _length) { + throw "Array out of bounds;"; + } + unsigned int cell = id / CELL_SIZE; + unsigned int bit = id % CELL_SIZE; + return (_values[cell] & (1 << bit)) != 0; + } + void insert(const T& obj) { + unsigned int id = obj.id(); + if (id >= _length) { + throw "Array out of bounds;"; + } + unsigned int cell = id / CELL_SIZE; + unsigned int bit = id % CELL_SIZE; + _values[cell] |= (1 << bit); + } + void remove(const T& obj) { + unsigned int id = obj.id(); + if (id >= _length) { + throw "Array out of bounds;"; + } + + unsigned int cell = id / CELL_SIZE; + unsigned int bit = id % CELL_SIZE; + if (this->contains(obj)) { + std::cout << obj.id() << " -> "; + } else { + std::cout << "null" << " -> "; + } + _values[cell] &= ~(1 << bit); + if (this->contains(obj)) { + std::cout << "still here" << std::endl; + } else { + std::cout << "Gone!" << std::endl; + } + } + void clear() { + for (unsigned int i = 0; i < DIV_ROUND_UP(_length, CELL_SIZE); ++i) { + _values[i] = 0; + } + } + + void absorb(const IdSet& other) { + if (_length == other._length) { + for (unsigned int i = 0; i < _length; ++i) { + _values[i] |= other._values[i]; + } + } else { + throw "Sets of different sizes cannot be combined."; + } + } + void filter(const IdSet& other) { + if (_length == other._length) { + for (unsigned int i = 0; i < DIV_ROUND_UP(_length, CELL_SIZE); ++i) { + _values[i] &= ~(other._values[i]); + } + } else { + throw "Sets of different sizes cannot be filtered."; + } + } + + bool operator==(const IdSet& other) const { + if (_length != other._length) + return false; + for (unsigned int i = 0; i < DIV_ROUND_UP(_length, CELL_SIZE); ++i) { + if (_values[i] != other._values[i]) + return false; + } + return true; + } + bool operator!=(const IdSet& other) const { + return !(*this == other); + } + + + struct iterator { + iterator(const IdSet& set, unsigned int index) + : set(set), index(index) { + unsigned int cell, bit; + cell = index / CELL_SIZE; + bit = index % CELL_SIZE; + while (index < set._length && + (set._values[cell] & (1 << bit)) == 0) { + index++; + cell = index / CELL_SIZE; + bit = index % CELL_SIZE; + } + } + unsigned int operator*() const { + return index; + } + iterator& operator++() { + unsigned int cell, bit; + do { + index++; + if (index == set._length) { + return *this; + } + cell = index / CELL_SIZE; + bit = index % CELL_SIZE; + } while ((set._values[cell] & (1 << bit)) == 0); + return *this; + } + bool operator==(const iterator& other) { + return other.index == index; + } + bool operator!=(const iterator& other) { + return !(*this == other); + } + private: + const IdSet& set; + unsigned int index; + }; + iterator begin() const { + return iterator(*this, 0); + } + iterator end() const { + return iterator(*this, _length); + } + + private: + unsigned int _length; + CELL_TYPE* _values; +}; + +template +std::ostream& operator<<(std::ostream& cout, const IdSet& set) { + cout << "{"; + for (typename IdSet::iterator it = set.begin(); + it != set.end(); + ++it) { + cout << *it << ", "; + } + cout << "}"; + return cout; +} + +#endif diff --git a/impl/Makefile b/impl/Makefile index 7df94a0..5dad366 100644 --- a/impl/Makefile +++ b/impl/Makefile @@ -17,5 +17,5 @@ build-dir: clean: rm -rf $(BUILD) - rm *.o *.c *.h *.tokens + rm -rf *.o *.c *.h *.tokens # antlr o, c, h and tokens files diff --git a/impl/MaxStrategy.hpp b/impl/MaxStrategy.hpp index f4e4055..a1c50d8 100644 --- a/impl/MaxStrategy.hpp +++ b/impl/MaxStrategy.hpp @@ -23,6 +23,10 @@ struct MaxStrategy { } } + virtual ~MaxStrategy() { + delete[] _assignment; + } + MaxStrategy& operator=(const MaxStrategy& other) { if (_length != other._length) { _length = other._length; @@ -35,9 +39,6 @@ struct MaxStrategy { return *this; } - virtual ~MaxStrategy() { - delete[] _assignment; - } const unsigned int& operator[] (const MaxExpression x) const { if (x.id() >= _length) { throw "Array out of bounds"; @@ -64,11 +65,11 @@ struct MaxStrategy { MaxStrategy improve(const EquationSystem& s, const VariableAssignment& rho) const { MaxStrategy newStrategy(*this); for (unsigned int i = 0; i < _length; ++i) { - const MaxExpression* expr = s.getMax(i); - const T oldValue = (*this)(*expr, rho); - std::pair best = expr->bestStrategy(rho); + const MaxExpression& expr = *s.getMax(i); + const T oldValue = (*this)(expr, rho); + std::pair best = expr.bestStrategy(rho); if (best.first > oldValue) - newStrategy[*expr] = best.second; + newStrategy[expr] = best.second; } std::cerr << "Strat improvement: "; if (_length > 0) diff --git a/impl/Operator.hpp b/impl/Operator.hpp index c9b4a06..dee7f47 100644 --- a/impl/Operator.hpp +++ b/impl/Operator.hpp @@ -9,6 +9,12 @@ float infinity() { } #include +#include "IdSet.hpp" + +template +struct Variable; +template +struct VariableSet : public IdSet > {}; template struct VariableAssignment; @@ -17,16 +23,20 @@ struct Expression; template struct Operator { - virtual T operator() (const std::vector< Expression* >&, const VariableAssignment&) const = 0; + virtual ~Operator() { } + T operator() (const std::vector< Expression* >& args, const VariableAssignment& rho) const { + return (*this)(args, rho, (VariableSet*) NULL); + } + virtual T operator() (const std::vector< Expression* >&, const VariableAssignment&, VariableSet*) const = 0; }; template struct Maximum : public Operator { - virtual T operator() (const std::vector< Expression* >& args, const VariableAssignment& assignment) const { + virtual T operator() (const std::vector< Expression* >& args, const VariableAssignment& assignment, VariableSet* visited) const { T value = -infinity(); for (typename std::vector< Expression* >::const_iterator it = args.begin(); it != args.end(); ++it) { - T temporary = (**it)(assignment); + T temporary = (**it)(assignment, visited); value = (temporary < value ? value : temporary); } return value; @@ -34,13 +44,13 @@ struct Maximum : public Operator { }; template struct Minimum : public Operator { - virtual T operator() (const std::vector< Expression* >& args, const VariableAssignment& assignment) const { + virtual T operator() (const std::vector< Expression* >& args, const VariableAssignment& assignment, VariableSet* visited) const { T value = infinity(); for (typename std::vector< Expression* >::const_iterator it = args.begin(); it != args.end(); ++it) { - T temporary = (**it)(assignment); - value = (temporary > value ? value : temporary); + T temporary = (**it)(assignment, visited); + value = (temporary < value ? temporary : value); } return value; } @@ -50,7 +60,7 @@ template struct Constant : public Operator { Constant(const T& val) : _value(val) { } - T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass) const { + T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass, VariableSet*) const { return _value; } private: @@ -59,10 +69,10 @@ struct Constant : public Operator { template struct Addition: public Operator { - T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass) const { + T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass, VariableSet* visited) const { T sum = (*args[0])(ass); for (unsigned int i = 1, size = args.size(); i < size; ++i) { - sum += (*args[i])(ass); + sum += (*args[i])(ass, visited); } return sum; } @@ -70,15 +80,39 @@ struct Addition: public Operator { template struct Subtraction: public Operator { - T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass) const { + T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass, VariableSet* visited) const { T sum = (*args[0])(ass); for (unsigned int i = 1, size = args.size(); i < size; ++i) { - sum -= (*args[i])(ass); + sum -= (*args[i])(ass, visited); } return sum; } }; +template +struct Comma: public Operator { + T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass, VariableSet* visited) const { + if ((*args[0])(ass, visited) == -infinity()) { + std::cout << "Comma - neg inf" << std::endl; + return -infinity(); + } else { + std::cout << "Comma - finite" << std::endl; + return (*args[1])(ass, visited); + } + } +}; + +template +struct Guard: public Operator { + T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass, VariableSet* visited) const { + if ((*args[0])(ass, visited) < (*args[1])(ass, visited)) { + return -infinity(); + } else { + return (*args[2])(ass, visited); + } + } +}; + #include "VariableAssignment.hpp" #include "Expression.hpp" diff --git a/impl/Variable.hpp b/impl/Variable.hpp index c46db02..5ebbbed 100644 --- a/impl/Variable.hpp +++ b/impl/Variable.hpp @@ -16,13 +16,22 @@ struct Variable : public Operator { std::string name() const { return _name; } - T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass) const { + //T operator() (const std::vector< Expression* >& args, const VariableAssignment& ass) const { + virtual T operator() (const std::vector< Expression* >& args, const VariableAssignment& assignment, VariableSet* visited) const { //assert(args.size() == 0) - return ass[*this]; + if (visited != NULL) + visited->insert(*this); + return assignment[*this]; } private: const unsigned int _id; const std::string _name; }; +template +std::ostream& operator<<(std::ostream& cout, const Variable& v) { + cout << v.name() << "(" << v.id() << ")"; + return cout; +} + #endif diff --git a/impl/VariableAssignment.hpp b/impl/VariableAssignment.hpp index d604a74..9d8137a 100644 --- a/impl/VariableAssignment.hpp +++ b/impl/VariableAssignment.hpp @@ -2,84 +2,16 @@ #define VARIABLE_ASSIGNMENT_HPP #include "Variable.hpp" -#include +#include "IdMap.hpp" template -struct VariableAssignment { +struct VariableAssignment : public IdMap,T> { VariableAssignment(unsigned int length) - : _length(length), _assignment(new T[length]) { - for (unsigned int i = 0; i < _length; ++i) { - _assignment[i] = -infinity(); - } - } + : IdMap,T>(length, -infinity()) { } VariableAssignment(unsigned int length, const T& initial) - : _length(length), _assignment(new T[length]) { - for (unsigned int i = 0; i < _length; ++i) { - _assignment[i] = initial; - } - } + : IdMap,T>(length, initial) { } VariableAssignment(const VariableAssignment& other) - : _length(other._length), _assignment(new T[other._length]) { - for (unsigned int i = 0; i < _length; ++i) { - _assignment[i] = other._assignment[i]; - } - } - ~VariableAssignment() { - delete[] _assignment; - } - VariableAssignment& operator=(const VariableAssignment& other) { - delete[] _assignment; - _length = other._length; - _assignment = new T[_length]; - for (unsigned int i = 0; i < _length; ++i) { - _assignment[i] = other._assignment[i]; - } - return *this; - } - const T& operator[] (const Variable& x) const { - if (x.id() >= _length) { - throw "Array out of bounds"; - } - return _assignment[x.id()]; - } - T& operator[] (const Variable& x) { - if (x.id() >= _length) { - throw "Array out of bounds"; - } - return _assignment[x.id()]; - } - - VariableAssignment expand(const VariableAssignment& other) { - return expand(other, infinity()); - } - VariableAssignment expand(const VariableAssignment& other, const T& value) { - VariableAssignment expansion(_length); - for (unsigned int i = 0; i < _length; ++i) { - if (_assignment[i] == other._assignment[i]) { - expansion._assignment[i] = _assignment[i]; - } else { - expansion._assignment[i] = value; - } - } - return expansion; - } - - bool operator==(const VariableAssignment& other) const { - if (_length != other._length) - return false; - for (unsigned int i = 0; i < _length; ++i) { - if (_assignment[i] != other._assignment[i]) { - return false; - } - } - return true; - } - bool operator!=(const VariableAssignment& other) const { - return !(*this == other); - } - private: - unsigned int _length; - T* _assignment; + : IdMap,T>(other) { } }; #endif diff --git a/impl/antlr/generate.py b/impl/antlr/generate.py new file mode 100644 index 0000000..4513fe2 --- /dev/null +++ b/impl/antlr/generate.py @@ -0,0 +1,4 @@ + +print 'x0 = 0' +for i in xrange(10000): + print 'x' + str(i+1) + " = x" + str(i) diff --git a/impl/antlr/test-file b/impl/antlr/test-file index 8c865bf..0e7f8f0 100644 --- a/impl/antlr/test-file +++ b/impl/antlr/test-file @@ -1,2 +1,2 @@ -y = min(0-1, z) -z = min(0, y+1) +y = min(1, z) +z = y+1 diff --git a/impl/antlr/test-system b/impl/antlr/test-system new file mode 100644 index 0000000..68f8d4c --- /dev/null +++ b/impl/antlr/test-system @@ -0,0 +1,100 @@ +x0 = max(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 diff --git a/impl/main.cpp b/impl/main.cpp index c5a0be6..abd27ba 100644 --- a/impl/main.cpp +++ b/impl/main.cpp @@ -9,6 +9,7 @@ #include "Expression.hpp" #include "MaxStrategy.hpp" #include "EquationSystem.hpp" +#include "Complete.hpp" extern "C" { #include "EquationSystemParser.h" @@ -17,26 +18,24 @@ extern "C" { using namespace std; -typedef std::vector*> Args; -typedef Expression E; -typedef Constant C; -typedef Addition A; -typedef Minimum Min; - template -Expression* treeToExpression(pANTLR3_BASE_TREE node, EquationSystem& system) { +Expression* treeToExpression(pANTLR3_BASE_TREE node, EquationSystem& system, bool topLevel=true) { ANTLR3_UINT32 num = node->getChildCount(node); string name = (char*) node->getText(node)->chars; // leaf node - constant or variable if (num == 0) { - stringstream stream(name); - T output; - if (stream >> output) { - return system.newExpression(new Constant(output), vector*>()); + if (name == "inf") { + return system.newExpression(new Constant(infinity())); } else { - return system.newExpression(system.newVariable(name), vector*>()); + stringstream stream(name); + T output; + if (stream >> output) { + return system.newExpression(new Constant(output)); + } else { + return system.newExpression(system.newVariable(name)); + } } } @@ -45,7 +44,7 @@ Expression* treeToExpression(pANTLR3_BASE_TREE node, EquationSystem& syste pANTLR3_BASE_TREE childNode; for (unsigned int i = 0; i < num; ++i) { childNode = (pANTLR3_BASE_TREE) node->getChild(node, i); - args.push_back(treeToExpression(childNode, system)); + args.push_back(treeToExpression(childNode, system, false)); } if (name == "max") { @@ -58,6 +57,13 @@ Expression* treeToExpression(pANTLR3_BASE_TREE node, EquationSystem& syste op = new Addition(); } else if (name == "-") { op = new Subtraction(); + } else if (name == ";") { + op = new Comma(); + } else if (name == "GUARD") { + op = new Guard(); + } else { + std::cerr << "Unknown leaf node type: " << name << std::endl; + throw "Unknown leaf node type"; } return system.newExpression(op, args); } @@ -79,12 +85,24 @@ void treeToSystem(pANTLR3_BASE_TREE node, EquationSystem& system) { string varName = (char*) varNode->getText(varNode)->chars; Variable* var = system.newVariable(varName); - system[*var] = treeToExpression(exprNode, system); + vector*> args; + args.push_back(system.newExpression(new Constant(-infinity()))); + args.push_back(treeToExpression(exprNode, system)); + system[*var] = system.newMaxExpression(args); } } -std::vector< Expression* > empty; +typedef Complete ZBar; int main (int argc, char* argv[]) { + FixpointAlgorithm* algorithm = NULL; + if (argc > 2 && !strcmp(argv[2], "naive")) { + algorithm = new NaiveFixpoint(); + cout << "Naive fixpoint" << endl; + } else { + algorithm = new RecursiveFixpoint(); + cout << "Recursive fixpoint" << endl; + } + pANTLR3_INPUT_STREAM input; pEquationSystemLexer lex; pANTLR3_COMMON_TOKEN_STREAM tokens; @@ -97,12 +115,14 @@ int main (int argc, char* argv[]) { EquationSystemParser_equation_system_return ret = parser -> equation_system(parser); - EquationSystem system; - treeToSystem(ret.tree, system); + EquationSystem system; + treeToSystem(ret.tree, system); // DO MORE HERE - VariableAssignment rho = system.minFixpoint(); - const std::vector*> vars = system.vars(); + VariableAssignment rho = system.minFixpoint(*algorithm); + std::cout << rho << std::endl; + + const std::vector*> vars = system.vars(); for (unsigned int i = 0, size = vars.size(); i < size; ++i) { cout << vars[i]->name() << " = " << rho[*vars[i]] << endl; } diff --git a/impl/systems/generate-system.py b/impl/systems/generate-system.py new file mode 100644 index 0000000..cc67df2 --- /dev/null +++ b/impl/systems/generate-system.py @@ -0,0 +1,25 @@ +#!/usr/bin/python + +import random + +size = 10 + +def generate_variable(size): + return "x" + str(random.randint(1, size)) + +def generate_expression(size): + if random.randint(1, 5) == 1: + operator = random.choice(['+', '-']) + return generate_variable(size) + operator + generate_expression(size); + else: + return generate_variable(size) + +def generate_min_expression(size): + return "min(" + ",".join(generate_expression(size) for i in xrange(random.randint(2, 3))) + ")" + +def generate_max_expression(size): + return "max(" + ",".join(generate_min_expression(size) for i in xrange(random.randint(2, 3))) + ")" + + +for i in xrange(size): + print "x"+str(i+1) + " = " + generate_max_expression(size) diff --git a/impl/systems/long-fixpoint b/impl/systems/long-fixpoint new file mode 100644 index 0000000..5838910 --- /dev/null +++ b/impl/systems/long-fixpoint @@ -0,0 +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 diff --git a/impl/systems/min-test b/impl/systems/min-test new file mode 100644 index 0000000..a05a662 --- /dev/null +++ b/impl/systems/min-test @@ -0,0 +1,3 @@ +x1 = min(1, x1) +x2 = min(x2+1, x3) +x3 = 0 diff --git a/impl/systems/random-system b/impl/systems/random-system new file mode 100644 index 0000000..506c18a --- /dev/null +++ b/impl/systems/random-system @@ -0,0 +1 @@ +x = max() diff --git a/impl/systems/size-ten b/impl/systems/size-ten new file mode 100644 index 0000000..71ee74a --- /dev/null +++ b/impl/systems/size-ten @@ -0,0 +1,3 @@ +x1 = max(0, min(x1-1, x2)) +x2 = max(0, 5+x1, x1) +x3 = max(0, 1+x3, 0+x1) diff --git a/impl/systems/small b/impl/systems/small new file mode 100644 index 0000000..3c40ed9 --- /dev/null +++ b/impl/systems/small @@ -0,0 +1 @@ +x = x -- cgit v1.2.3